목록dfs (14)
All :L

나무 높이 (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(깊이 우선 탐..

영역 구하기 (2583)1. 문제 분석문제 개요주어진 평면의 크기와 색칠된 직사각형들의 좌표를 통해, 색칠되지 않은 영역의 개수와 각 영역의 크기를 구하는 문제이다.입력 형식첫 번째 줄에 평면의 세로 길이 N, 가로 길이 M, 색칠된 직사각형의 개수 K가 주어진다.다음 K개의 줄에는 각 직사각형의 좌표가 주어진다. 좌표는 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓점의 (x1, y1), (x2, y2) 형식으로 주어진다.출력 형식첫 번째 줄에는 색칠되지 않은 영역의 개수를 출력한다.두 번째 줄에는 각 영역의 크기를 오름차순으로 출력한다.2. 알고리즘 종류이 문제는 DFS (깊이 우선 탐색) 알고리즘을 사용하여 해결한다. 이 알고리즘을 사용하여 평면을 탐색하며 색칠되지 않은 영역을 찾아 그 크기를 구한다.3. 주요..

Puyo Puyo (11559)1. 문제 분석문제 개요6x12 크기의 필드에서 같은 색의 뿌요(Puyo)가 4개 이상 연결되면 터지고, 터진 후에는 위의 뿌요들이 아래로 떨어진다. 더 이상 터질 수 있는 뿌요가 없을 때까지 반복하고, 이때 발생하는 연쇄의 횟수를 구하는 문제이다.입력 형식12개의 줄에 각각 6개의 문자로 이루어진 필드의 상태가 주어진다. 필드는 ".", "R", "G", "B", "P", "Y"로 이루어지며, 각각 빈 공간과 다섯 가지 색상의 뿌요를 나타낸다.출력 형식터질 수 있는 모든 뿌요가 터진 후 발생한 연쇄의 횟수를 출력한다.2. 알고리즘 종류DFS(깊이 우선 탐색) 알고리즘을 사용하여 필드의 각 위치에서 같은 색의 뿌요가 몇 개 연결되어 있는지를 확인한다.Stack(스택) 자료구..

그림 (1926)1. 문제 분석문제 개요주어진 2차원 배열에서 그림의 개수와 가장 큰 그림의 크기를 찾는 문제이다. 그림은 연결된 1의 집합으로 정의된다.입력 형식첫 번째 줄에는 배열의 행의 크기 n과 열의 크기 m이 주어진다.다음 n개의 줄에는 m개의 정수가 주어지며, 각 정수는 0 또는 1이다. 1은 그림의 부분을 의미한다.출력 형식그림의 개수와 가장 큰 그림의 크기를 출력한다.2. 알고리즘 종류DFS(깊이 우선 탐색) 알고리즘을 사용하여 문제를 해결한다. 이 알고리즘을 사용하여 그림을 탐색하고 각 그림의 크기를 계산한다.3. 주요 부분 및 코드 작성 방법1. DFS(깊이 우선 탐색) 사용DFS를 사용하여 그림의 각 부분을 탐색한다. 방문한 셀을 기록하고, 연결된 셀을 재귀적으로 탐색하여 그림의 크기..