Coding Test/알고리즘 실전

Coding Test/알고리즘 실전

[2447] 별 찍기 - 10

✔ 별 찍기 - 10[백준 2447]코드 구현하기/* * 문제 분석하기 * : 가운데를 비워두고 나머지 부분을 N/3의 패턴으로 둘러싸도록 재귀형태로 구현하도록 함 *//* * 손으로 풀어보기 * 1. 패턴이 N일 때, 크기 N/3의 패턴으로 둘러싼 형태가 되므로 패턴 N은 크기 N/3의 패턴으로 9조각으로 나누어지게 됨 * 2. (1, 2, 3, 4, 6, 7, 8, 9)번째 조각일 경우 재귀 형태로 N/3의 패턴으로 채워줌 * 3. (5)번째 조각일 경우 공백으로 채워줌 * 4. 모든 칸을 조건에 맞게 채운 후, 이를 출력 *//* * 2447) 별_찍기_-_10 */public class Main { static BufferedReader br = new BufferedReader(new ..

Coding Test/알고리즘 실전

[16987] 계란으로 계란치기

✔ 계란으로 계란치기[백준 16987]코드 구현하기/* * 문제 분석하기 * : 자신을 제외한 계란들 중 계란치기를 하는 경우의 수를 모두 구해 가장 많이 계란이 깨지는 경우를 찾도록 함 *//* * 손으로 풀어보기 * 1. 계란치기를 하는 모든 경우의 수를 구하도록 함 * 2. 가장 많이 계란이 깨지는 경우의 깰 수 있는 계란의 최대 개수를 출력 *//* * 16987) 계란으로_계란치기 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N; static Egg[] eggs; // eggs(계란 ..

Coding Test/알고리즘 실전

[3079] 입국심사

✔ 입국심사 [백준 3079] 코드 구현하기 /* * 문제 분석하기 * : 전체 인원 입국에 걸리는 시간의 최소와 최대를 이진 탐색의 인덱스로 설정한 후 * 이진 탐색을 하며 시간 안에 모든 인원을 처리할 수 있는지 계산함 */ /* * 손으로 풀어보기 * 1. 이진탐색을 위해 데이터 정렬 * 2. 걸리는 시간의 최소와 최대 시간을 찾기 * 3. 이진 탐색을 하며 최소 시간을 찾기 * 4. 심사를 마치는데 걸리는 시간의 최솟값 출력하기 */ /* * 3079) 입국심사 */ public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N; static long M; ..

Coding Test/알고리즘 실전

[16234] 인구 이동

✔ 인구 이동 [백준 16234] 코드 구현하기 /* * 문제 분석하기 * : BFS를 통해 이동하며 연합을 만든 후, 연합을 해지하는 것을 반복하며 인구 이동이 일어날 수 있을 때까지 이를 반복 */ /* * 손으로 풀어보기 * 1. BFS를 통해 이동하며 연합을 생성 * 2. 연합을 이루는 각 칸의 인구수를 조정 * 3. 더 이상 연합이 만들어지지 않을 때까지 반복 */ /* * 16234) 인구_이동 */ public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N, L, R; static int[][] board; // board(나라 인구를 담은 배열) ..

Coding Test/알고리즘 실전

[12919] A와 B 2

✔ A와 B 2 [백준 12919] 코드 구현하기 /* * 문제 분석하기 * : T에서 두 조건에 따라 T를 변환해가며 S를 만들 수 있는지 확인함 */ /* * 손으로 풀어보기 * 1. 변환한 T의 마지막 글자가 A일 경우, 마지막 글자를 빼도록 함 * 2. 변환한 T의 첫 번째 글자가 B일 경우, 첫 번째 글자를 빼고 뒤집도록 함 * 3. 이를 반복해 변환한 T가 S의 길이와 같아졌을 때 동일한 글자인지 확인 * 4. S를 T로 만들 수 있다면 1, 없다면 0을 반환 */ /* * 12919) A와_B_2 */ public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static..

Coding Test/알고리즘 실전

[7576] 토마토

✔ 토마토 [백준 7576] 코드 구현하기 /* * 문제 분석하기 * : 익은 토마토의 상하좌우를 탐색해 익지 않은 토마토가 있을 경우 익을 수 있도록 해줌 */ /* * 손으로 풀어보기 * 1. 익은 토마토의 상하좌우를 살펴보며 익지 않은 토마토가 있을 경우 익을 수 있도록 해줌 * 2. 토마토가 모두 익을 때까지의 최소 날짜를 출력 */ /* * 7576) 토마토 */ public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int M, N; static int[][] tomatoes; // tomatoes(토마토의 정보를 저장할 배열) static Queue que..

Coding Test/알고리즘 실전

[21608] 상어 초등학교

✔ 상어 초등학교 [백준 21608] 코드 구현하기 /* * 문제 분석하기 * : 좋아하는 학생에 따라 자리를 배치한 후, 학생의 만족도의 총 합을 출력함 */ /* * 손으로 풀어보기 * 1. 학생 정보 저장 * 2. 비어있는 칸 중에서 좋아하는 학생이 인접한 칸에 가장 많은 칸을 선택 * 3. 위를 만족하는 칸이 여러 개이면, 인접한 칸 중에서 비어있는 칸이 가장 많은 칸을 선택 * 4. 위를 만족하는 칸이 여러 개이면, 행의 번호가 가장 작은 칸을 선택 * 5. 위를 만족하는 칸이 여러 개이면, 열의 번호가 가장 작은 칸을 선택 * 6. 각 학생과 인접한 칸에 앉은 좋아하는 학생의 수를 구해 만족도를 구함 * 7. 학생의 만족도의 총 합을 출력 */ /* * 21608) 상어_초등학교 */ publ..

Coding Test/알고리즘 실전

[2470] 두 용액

✔ 두 용액 [백준 2470] 코드 구현하기 /* * 문제 분석하기 * : 투 포인터를 이용해 두 용액을 혼합한 용액의 특성값 중 가장 0에 가까운 용액을 찾도록 함 */ /* * 손으로 풀어보기 * 1. 투 포인터를 이용해 두 용액을 혼합한 용액의 특성값을 찾음 * 2. 특성값 중 가장 0에 가까운 용액으로 갱신 * 3. 두 용액을 오름차순으로 출력 */ /* * 2470) 두_용액 */ public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N; static int[] waters; // waters(용액들을 담은 배열) static int[] answer;..

김깅긍
'Coding Test/알고리즘 실전' 카테고리의 글 목록 (12 Page)