목록CODING/BOJ (35)
All :L
양 한마리... 양 두마리... (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차원 배열을 순회하면서 연결된 모든 섬의 부분을 탐색하..
음식물 피하기 (1713)1. 문제 분석문제 개요N x M 크기의 격자판에 K개의 음식물 쓰레기가 흩어져 있습니다.각 음식물 쓰레기는 인접한 칸(상, 하, 좌, 우)으로 연결될 수 있으며, 연결된 음식물 쓰레기 덩어리 중 가장 큰 크기를 구하는 문제입니다.입력 형식첫 번째 줄에 격자의 크기 N, M과 음식물 쓰레기의 수 K가 주어집니다.이후 K개의 줄에 음식물 쓰레기가 위치한 좌표 (r, c)가 주어집니다.출력 형식연결된 음식물 쓰레기 중 가장 큰 덩어리의 크기를 출력합니다.2. 알고리즘 종류이 문제는 BFS(너비 우선 탐색) 알고리즘을 사용하여 연결된 음식물 쓰레기의 크기를 구하는 문제입니다. BFS를 통해 각 쓰레기 덩어리의 크기를 구하고, 그중 최대 크기를 찾는 방식으로 해결합니다.3. 주요 부분 ..
듣보잡 (1764)1. 문제 분석문제 개요듣도 못한 사람과 보도 못한 사람의 목록이 주어졌을 때, 두 목록에 모두 속하는 사람들을 찾아 사전순으로 출력하는 문제이다.입력 형식첫 줄에 듣도 못한 사람의 수 N과 보도 못한 사람의 수 M이 주어진다.다음 N개의 줄에 듣도 못한 사람의 이름이 주어지고, 이후 M개의 줄에 보도 못한 사람의 이름이 주어진다.출력 형식듣도 보도 못한 사람의 수와 그들의 이름을 사전순으로 출력한다.2. 알고리즘 종류이 문제를 해결하기 위해 사용할 수 있는 알고리즘은 다음과 같다:해시맵(HashMap): 해시맵을 사용하여 각 이름이 몇 번 등장했는지를 효율적으로 기록하고, 이를 통해 중복된 이름을 쉽게 찾을 수 있다.정렬 알고리즘(Sorting): 최종적으로 중복된 이름들을 사전순으로..
파일 정리 (20291)1. 문제 분석문제 개요여러 파일의 확장자가 주어질 때, 각 확장자의 종류별로 몇 개의 파일이 있는지 계산하는 문제이다.확장자는 파일 이름 뒤에 .을 기준으로 나타나며, 이를 통해 파일 종류를 구분할 수 있다.입력 형식첫 줄에 파일의 개수 N이 주어진다.다음 N개의 줄에는 각각 파일 이름이 주어진다.출력 형식확장자 종류별로 파일 개수를 사전순으로 출력한다.2. 알고리즘 종류이 문제는 해시맵(HashMap)과 리스트(List)를 이용한 자료 처리 문제로, 확장자를 키(key)로, 파일 개수를 값(value)으로 하여 해시맵에 저장하고, 이를 사전순으로 정렬해 출력하는 방식으로 해결할 수 있다.3. 주요 부분 및 코드 작성 방법1. 해시맵 사용확장자별 파일 개수를 저장하기 위해 해시맵..