목록CODING (40)
All :L
컨베이어 벨트 위의 로봇 (20055)1. 문제 분석문제 개요주어진 컨베이어 벨트 위에 로봇을 올리고, 로봇을 이동시키는 작업을 반복하면서 각 칸에 있는 내구도가 0이 되는 칸의 개수가 K개 이상이 될 때까지 반복을 수행한다. 각 단계에서 로봇을 이동시키고, 로봇을 올리며 내구도를 갱신하는 작업을 정확히 구현해야 한다.입력 형식첫 번째 줄에는 두 정수 N, K가 주어진다. N은 컨베이어 벨트의 반 개수, K는 내구도가 0인 칸이 되어야 하는 목표값이다.두 번째 줄에는 각 칸의 내구도가 주어진다. 각 칸의 내구도는 1 이상 100 이하의 자연수로 주어진다.출력 형식목표값 K에 도달할 때까지 진행된 단계를 출력한다. 즉, K개의 칸의 내구도가 0이 될 때까지의 횟수를 출력한다.2. 알고리즘 종류이 문제는 시..
토마토 (7576)1. 문제 분석문제 개요토마토 상자에서 모든 토마토가 익는 데 걸리는 최소 일수를 구하는 문제이다.상자에서 익은 토마토가 인접한 익지 않은 토마토를 익게 한다.상자에 토마토가 없는 곳은 -1로 표시된다.입력 형식첫째 줄에 두 정수 M과 N이 주어진다. (1 ≤ M, N ≤ 1000)다음 N개의 줄에 M개의 정수로 이루어진 상자의 모양이 주어진다.1은 익은 토마토0은 익지 않은 토마토-1은 토마토가 없는 곳출력 형식모든 토마토가 익는 데 걸리는 최소 일수를 출력한다.만약 모든 토마토를 익히는 것이 불가능하면 -1을 출력한다.2. 알고리즘 종류이 문제는 그래프 탐색 문제로, 너비 우선 탐색 (BFS)를 사용하여 익은 토마토가 인접한 익지 않은 토마토를 익히는 과정을 시뮬레이션한다.3. 주요..
나무 높이 (14510)1. 문제 분석문제 개요나무의 높이를 조정하여 모든 나무를 최대 높이로 맞추기 위해 필요한 최소 일수를 계산하는 문제이다.입력 형식첫 번째 줄에 테스트 케이스의 수 T가 주어진다.다음 T개의 줄 각각에는 나무의 개수 N과 N개의 나무 높이가 주어진다.출력 형식각 테스트 케이스에 대해, 모든 나무를 최대 높이로 맞추기 위해 필요한 최소 일수를 출력한다.2. 알고리즘 종류이 문제는 수학적 계산과 구간 탐색을 사용하여 해결하는 문제이다. 나무의 높이 차이에 따라 필요한 일수를 계산하고, 가장 많은 일수를 필요한 나무를 기준으로 최소 일수를 구한다.3. 주요 부분 및 코드 작성 방법1. 나무의 높이와 최대 높이 계산나무의 높이를 입력받고 최대 높이를 계산한다.2. 각 나무를 최대 높이로 ..
양치기 꿍 (3187)1. 문제 분석문제 개요양치기 꿍은 마당에서 양과 늑대가 몇 마리 있는지 확인하고자 한다.주어진 마당에서 "양"과 "늑대"가 각각 살아남을 수 있는 영역을 확인해야 한다.양과 늑대는 #으로 막힌 울타리로 둘러싸인 공간에서만 서로 영향을 주고받으며, 영역 안에서 양이 늑대보다 많으면 늑대가 모두 쫓겨나고, 그렇지 않으면 양이 모두 잡아먹힌다.입력 형식첫째 줄에 두 정수 R과 C가 주어진다. (3 ≤ R, C ≤ 250)다음 R개의 줄에는 C개의 문자로 이루어진 마당의 모양이 주어진다.'.'는 빈 필드'#'는 울타리'k'는 양'v'는 늑대출력 형식최종적으로 살아남는 양과 늑대의 수를 출력한다.2. 알고리즘 종류이 문제는 그래프 탐색 문제로, 울타리 #로 구분된 영역 내에서 각각의 양과 ..
디저트 카페 (2105)1. 문제 분석문제 개요:N x N 크기의 디저트 카페에서 대각선 방향으로 이동하며 디저트를 먹을 수 있는 최대한의 경로를 찾는 문제이다. 같은 디저트를 두 번 먹으면 안 되고, 처음 위치로 돌아오는 경로를 만들어야 한다.입력 형식:첫 번째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스의 첫 줄에 N이 주어지며, 다음 N개의 줄에 N x N 크기의 카페 정보가 주어진다. 카페 정보는 1부터 100까지의 정수로 주어지며, 각 숫자는 해당 카페에서 제공하는 디저트를 나타낸다.출력 형식:각 테스트 케이스에 대해 "#"과 테스트 케이스 번호, 그리고 얻을 수 있는 디저트의 최대 개수를 출력한다. 만약 가능한 경로가 없으면 -1을 출력한다.2. 알고리즘 종류DFS(깊이 우선 탐..
N과 M (12) (15666)1. 문제 분석문제 개요주어진 N개의 숫자 중에서 M개의 숫자를 중복을 허용하여 선택하고, 선택된 숫자들이 오름차순으로 정렬된 모든 경우를 출력하는 문제이다.중복된 수열은 제거하며, 사전 순서대로 결과를 출력해야 한다.입력 형식첫째 줄에 두 정수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 정수가 주어진다. 이 정수들은 공백으로 구분되어 있다.출력 형식M개의 숫자를 중복을 허용하여 선택한 모든 경우를 사전 순서대로 출력한다. 각 수열은 한 줄에 하나씩 출력되며, 중복된 수열은 한 번만 출력된다.2. 알고리즘 종류이 문제는 조합 문제로, 중복을 허용하여 M개의 숫자를 선택하고, 선택된 수열이 오름차순으로 정렬되도록 한다.3. 주요 부분 및 코드 작성 방법..