목록Java (371)
기록방
👉 문제링크 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net 🔸 문제 분석 🔸 2차원 배열의 구간 합을 출력한다. 시간초과를 방지하기 위해 구간 합을 미리 계산한다. i = 1일때와 j = 1 는 1차원 배열의 구간 합 채우기 공식이 같다 : sum[i] = sum[i-1] + arr[i] 2차원 배열 구간합 배열을 채우는 공식 : sum[i][j] = sum[i][j-1] + sum[i-1][j] - sum[i-1][j-1] + arr[i][j] 구하려는 인덱스의 위..
👉 문제링크 1380번: 귀걸이 입력은 번호를 가진 시나리오들로 구성됩니다. 시나리오 번호는 1부터 순서대로 증가하고, 각 시나리오는 아래의 내용을 포함합니다. 한 줄에 귀걸이를 압수당한 여학생의 수, n (1 ≤ n ≤ 100)이 www.acmicpc.net 🔸 문제 분석 🔸 학생들 수 n, 학생들 명단, 귀걸이 압수/반환 리스트가 입력된다. 리스트에 1번 등장한 학생 인덱스를 찾아 시나리오 번호와 학생 이름을 반환한다. n으로 0이 입력될 때 까지 반복한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n ..
Do it! 알고리즘 코딩 테스트 - 자바 편 http://www.easyspub.co.kr/20_Menu/BookView/500/PUB www.easyspub.co.kr 3장 : 자료구조 💡 데이터를 효율적으로 저장, 접근, 수정하기 위한 그릇 문제의 입력 데이터 형태와 사용해야 하는 알고리즘에 따라 적절한 자료구조를 선택하는 것이 매우 중요하다 03-1 배열과 리스트 배열과 리스트는 비슷한 점도 많지만 다른 점도 많다 배열과 리스트의 핵심 이론 배열 : 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 인덱스로 참조 선언한 자료형 값만 저장 가능 배열의 특징 인덱스를 사용하여 값에 바로 접근 가능 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어려움(해당 인덱스 값 이동 필요) 구조가..
👉 문제링크 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 🔸 문제 분석 🔸 'X'와 '.'으로 이루어진 문자열이 입력된다. 'X"를 "AAAA"와 "BB"로 교체해서 출력한다. 불가능하면 -1을 출력한다. 🔸 코드 🔸 import java.util.Scanner; public class Main { public static String AB(String temp){ String re = ""; int len = temp.length(); if (len % 2 != 0) { System.out.println(-1); System.exit(0); } for (int i = 0; i < len / 4; i++) r..
Do it! 알고리즘 코딩 테스트 - 자바 편 http://www.easyspub.co.kr/20_Menu/BookView/500/PUB www.easyspub.co.kr 2장 : 코드의 논리 오류를 어떻게 잡을까? 💡 가장 뛰어난 오류 탐색 방법, 디버깅 코드에서 논리 오류를 찾을 수 있는 가장 최선의 방법은 ‘디버깅’ 02-1 디버깅은 왜 중요할까? 디버깅(debugging) : 프로그램에서 발생하는 문법 오류나 논리 오류를 찾아 바로잡는 과정 (문법 오류는 컴파일러가 자동으로 찾아 주므로 테스트할 때 문제가 되지 않음) 디버깅의 중요성 많은 사람들이 조금의 차이로 코딩 테스트에 떨어지곤 했음 → 디버깅을 했다면 통과했을 것 많은 사람들이 문법을 배우는 과정에서 디버깅을 가볍게 생각하고 넘어감 하지만..