Coding Test/알고리즘 실전

Coding Test/알고리즘 실전

[17144] 미세먼지 안녕!

✔ 미세먼지 안녕![백준 17144]코드 구현하기/* * 문제 분석하기 * : T초 동안 미세먼지를 상하좌우 탐색을 통해 확산시키고, 공기청정기를 작동하여 미세먼지를 이동시키도록 함 * 이때 공기청정기 위치로 이동하는 미세먼지는 정화되어 사라지도록 함 *//* * 손으로 풀어보기 * 1. 미세먼지를 상하좌우 탐색을 통해 확산 * 2. 공기청정기를 작동하여 공기청정기의 위쪽은 반시계 방향, 아래쪽은 시계방향으로 순환해 미세먼지를 이동 * 3. 공기청정기 위치로 이동하는 미세먼지는 사라지게 됨 * 4. 이를 T번 반복한 후 남아있는 미세먼지의 양을 출력/* * 17144) 미세먼지_안녕! */public class Main { static BufferedReader br = new Buffere..

Coding Test/알고리즘 실전

[1025] 제곱수 찾기

✔ 제곱수 찾기[백준 1025]코드 구현하기/* * 문제 분석하기 * : 등차수열로 이루어져야 하므로 조건에 따라 * '왼쪽 아래 -> 위 / 왼쪽 위 -> 아래 / 오른쪽 아래 -> 위 / 오른쪽 위 -> 아래 / 행 -> 행 / 열 -> 열'로 이동하며 * 가장 큰 완전 제곱수를 구하도록 함 *//* * 손으로 풀어보기 * 1. '왼쪽 아래 -> 위 / 왼쪽 위 -> 아래 / 오른쪽 아래 -> 위 / 오른쪽 위 -> 아래 / 행 -> 행 / 열 -> 열'로 등차수열에 따라 이동 * 2. 위를 반복하며 만들 수 있는 정수가 완전 제곱수이라면 더 큰 완전 제곱수로 갱신하여 가장 큰 완전 제곱수를 구하도록 함/* * 1025) 제곱수_찾기 */public class Main { stati..

Coding Test/알고리즘 실전

[17836] 공주님을 구해라!

✔ 공주님을 구해라![백준 17836]코드 구현하기/* * 문제 분석하기 * : 벽을 피해 상하좌우로 BFS 탐색하면서 T시간만에 공주님이 있는 곳에 도달할 수 있는지 확인 * 이때 용사가 그람을 구할 경우 벽에 상관없이 이동할 수 있게 됨 *//* * 손으로 풀어보기 * 1. 벽을 피해 상하좌우로 BFS 탐색 * 2. 용사가 그람을 구할 경우부터 벽에 상관없이 이동할 수 있게 됨 * 3. T시간만에 공주님이 있는 곳에 도달할 수 있는지 확인/* * 17836) 공주님을_구해라! */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N, ..

Coding Test/알고리즘 실전

[20164] 홀수 홀릭 호석

✔ 홀수 홀릭 호석[백준 20164]코드 구현하기/* * 문제 분석하기 * : 수가 주어졌을 때 자리 조건에 맞춰 분할과 합을 반복하며 만들어가면 볼 수 있는 홀수의 개수에 대한 최솟값과 최댓값을 구하도록 함 *//* * 손으로 풀어보기 * 1. 수가 주어졌을 때 자리 조건에 맞춰 분할과 합을 반복 * 수가 한 자리이면 종료, * 수가 두 자리이면 2개로 나눠서 합 구하기, * 수가 세 자리 이상이면 임의의 위치에서 끊어서 3개로 나눠서 합 구하기 * 2. 이를 통해 만들어가면 볼 수 있는 홀수의 개수에 대한 최솟값과 최댓값을 구하도록 함/* * 20164) 홀수_홀릭_호석 */public class Main { static BufferedReader br = new Buffe..

Coding Test/알고리즘 실전

[15961] 회전 초밥

✔ 회전 초밥[백준 15961]코드 구현하기/* * 문제 분석하기 * : 슬라이딩 윈도우로 이동하며 초밥의 종류를 최대 몇 개 먹을 수 있는지 찾도록 함 *//* * 손으로 풀어보기 * 1. 초밥 종류 사용 배열에 쿠폰에 담긴 초밥의 종류를 저장 * 2. 슬라이딩 윈도우로 이동하며 이동한 곳의 초밥의 종류를 증가하고 이전의 초밥의 종류를 감소 * 3. 이를 반복하며 최대 초밥의 종류 개수를 구하여 출력 *//* * 15961) 회전_초밥 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N, d, k, c; static int[] sh..

Coding Test/알고리즘 실전

[9251] LCS

✔ LCS[백준 9251]코드 구현하기/* * 문제 분석하기 * : 점화식 배열을 이용해 각 위치 인덱스를 마지막 문자로 하는 최장 공통 수열의 길이를 구해 갱신하도록 함 *//* * 손으로 풀어보기 * 1. 각 위치 인덱스를 마지막 문자로 하는 공통 수열의 길이를 구해 갱신 * 2. 마지막 위치 인덱스까지 왔을 때의 최장 공통 수열의 길이를 출력 *//* * 9251) LCS */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static char[] A; // A(1번째 문자열) static char[] B; // B(2번째 문자열) static..

Coding Test/알고리즘 실전

[2293] 동전 1

✔ 동전 1[백준 2293]코드 구현하기/* * 문제 분석하기 * : 주어진 금액을 만들기 위해 동전들을 조합해 만드는 방법을 모두 세도록 함 *//* * 손으로 풀어보기 * 1. 1원부터 K원까지를 만들 때, 하나의 동전을 사용할 수 있는 경우와 여러 동전을 사용해야 하는 경우에 따른 경우의 수를 세도록 함 * 2. 금액 K를 만드는 모든 방법의 수를 출력 *//* * 2293) 동전_1 */public class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static int N, K; static int[] coins; // coins(동전들을 담은 배열) sta..

Coding Test/알고리즘 실전

[19598] 최소 회의실 개수

✔ 최소 회의실 개수[백준 19598]코드 구현하기/* * 문제 분석하기 * : 우선순위 큐를 이용해 시작 시간이 빠른 회의부터 시작하며 * 이번 회의가 시작하기 전에 이전 회의가 끝났다면 이전 회의를 삭제 * 그렇지 않다면 이번 회의를 우선순위 큐에 넣도록 하여 회의실의 개수를 늘려줌 * 모든 회의를 진행한 후 우선순위 큐의 개수를 출력하도록 함 *//* * 손으로 풀어보기 * 1. 우선순위 큐를 이용해 시작 시간이 빠른 회의부터 저장 * 2. 이번 회의가 시작하기 전에 이전 회의가 끝났다면 이전 회의를 삭제 * 3. 그렇지 않다면 이번 회의를 우선순위 큐에 넣도록 하여 회의실의 개수를 늘려줌 * 4. 모든 회의를 진행한 후 우선순위 큐의 개수를 출력 *//* * 19598) 최소_회의..

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