목록dfs (14)
All :L

농장 관리 (1245)1. 문제 분석문제 개요농장의 높이 정보가 주어졌을 때, 각 높이를 기준으로 주변을 탐색하여 봉우리를 찾는 문제이다. 봉우리란, 해당 지역보다 주변 모든 높이가 낮아야 하며, 같은 높이인 경우 연속된 지역도 포함된다. 이 문제는 DFS(깊이 우선 탐색)를 이용하여 해결할 수 있다.입력 형식첫 줄에 농장의 크기를 나타내는 N(행)과 M(열)이 주어진다.다음 N개의 줄에는 M개의 농장의 높이 정보가 주어진다.출력 형식봉우리의 개수를 출력한다.2. 알고리즘 종류DFS (깊이 우선 탐색)DFS를 사용하여 각 높이의 지역을 탐색하고, 그 지역이 봉우리인지를 판단하여 봉우리의 개수를 센다.3. 주요 부분 및 코드 작성 방법1. 농장 및 방문 배열 초기화입력된 농장 높이 정보를 저장하고, 방문 ..

양 한마리... 양 두마리... (11123)1. 문제 분석문제 개요주어진 격자(grid)에서 양('#')들이 서로 연결된 덩어리의 개수를 구하는 문제이다. 양의 덩어리는 4방향(상하좌우)으로 연결된 양들을 의미한다. DFS(깊이 우선 탐색)를 사용하여 각 양의 덩어리를 탐색하고, 그 개수를 세는 것이 목표이다.입력 형식첫 번째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스에 대해 첫 줄에는 격자의 높이 H와 너비 W가 주어진다.이후 H줄에 걸쳐 각 줄에는 W개의 문자가 주어지며, 양은 '#'로, 빈 칸은 '.'으로 표시된다.출력 형식각 테스트 케이스에 대해 양의 덩어리 개수를 출력한다.2. 알고리즘 종류DFS (깊이 우선 탐색)DFS를 사용하여 각 양의 덩어리를 탐색한다. 방문한 양은 vi..

치즈 (2638)1. 문제 분석문제 개요N x M 크기의 종이에서 치즈가 놓여있으며, 치즈는 1로 표시된다. 치즈의 가장자리는 공기와 접촉할 때 녹게 되며, 두 면 이상이 공기와 접촉한 치즈는 한 번의 과정에서 모두 녹는다. 치즈가 모두 녹을 때까지의 시간을 계산하는 문제이다.입력 형식첫 줄에는 종이의 크기 N (세로)과 M (가로)가 주어진다.그다음 N개의 줄에 걸쳐서 각 칸에 치즈가 있는지 없는지에 대한 정보가 주어진다. 0은 공기, 1은 치즈를 나타낸다.출력 형식치즈가 모두 녹는 데 걸리는 시간을 출력한다.2. 알고리즘 종류이 문제는 DFS(깊이 우선 탐색)와 시뮬레이션을 사용하는 문제이다. DFS를 사용해 치즈의 외부 공기를 탐색하고, 시뮬레이션을 통해 치즈가 녹는 과정을 반복적으로 수행해 해결한..

섬의 개수 (4963)1. 문제 분석문제 개요:2차원 배열로 주어진 지도에서 섬의 개수를 세는 문제이다. 지도의 각 칸은 바다(0) 또는 땅(1)으로 표시된다. 인접한 땅(상하좌우, 대각선 방향)이 연결되어 하나의 섬을 형성하며, 지도에 존재하는 섬의 총 개수를 구해야 한다.입력 형식첫 줄에는 지도의 너비 w와 높이 h가 주어진다.다음 h개의 줄에 걸쳐서 지도의 정보가 주어진다. 지도의 정보는 0과 1로 이루어진 숫자가 공백으로 구분된다.입력의 마지막 줄에서 w와 h가 둘 다 0이면 입력이 종료된다.출력 형식각 테스트 케이스에 대해 섬의 개수를 출력한다.2. 알고리즘 종류이 문제는 DFS(깊이 우선 탐색) 알고리즘을 사용하는 문제이다. 해당 문제는 2차원 배열을 순회하면서 연결된 모든 섬의 부분을 탐색하..

알파벳 (1987)1. 문제 분석문제 개요이 문제는 R x C 크기의 보드에서 알파벳이 적힌 칸을 이동하며 최대 경로 길이를 구하는 문제이다. 각 칸에는 A부터 Z까지의 대문자 알파벳이 적혀 있으며, 한 번 방문한 알파벳이 적힌 칸은 다시 방문할 수 없다.출발점은 좌측 상단의 (0, 0)에서 시작하며, 상하좌우로 인접한 칸으로만 이동할 수 있다.목표중복되지 않는 알파벳을 최대한 많이 방문하면서 이동할 수 있는 경로의 최대 길이를 구하는 것이다.입력 형식첫 줄에 보드의 크기 R과 C가 주어진다.이후 R줄에 걸쳐 각 줄마다 C개의 대문자 알파벳이 주어진다.출력 형식가능한 최대 경로 길이를 출력한다.2. 알고리즘 종류이 문제는 "백트래킹을 이용한 깊이 우선 탐색(DFS)" 문제이다. DFS를 활용하여 경로를 ..

적록색약 (10026)1. 문제 분석문제 개요입력으로 주어진 N x N 크기의 격자에서 색깔에 따라 구역의 개수를 계산한다.색약이 없는 사람과 색약이 있는 사람의 구역 개수를 각각 계산한다.색약이 있는 사람은 빨강(R)과 초록(G)을 동일하게 인식한다.입력 형식첫 줄에 격자의 크기 N이 주어진다.다음 N줄에는 R, G, B로 이루어진 N x N 격자가 주어진다.출력 형식첫째 줄에 색약이 없는 사람의 구역 개수와 색약이 있는 사람의 구역 개수를 공백으로 구분하여 출력한다.2. 알고리즘 종류이 문제는 "그래프 탐색(DFS)" 문제이다. 각 지점을 시작으로 연결된 같은 색깔의 모든 지점을 탐색하여 구역을 구분하고, 그 개수를 계산한다.3. 주요 부분 및 코드 작성 방법1. 방향 벡터 설정상하좌우 방향으로 이동..