목록CODING/BOJ (35)
All :L
영역 구하기 (2583)1. 문제 분석문제 개요주어진 평면의 크기와 색칠된 직사각형들의 좌표를 통해, 색칠되지 않은 영역의 개수와 각 영역의 크기를 구하는 문제이다.입력 형식첫 번째 줄에 평면의 세로 길이 N, 가로 길이 M, 색칠된 직사각형의 개수 K가 주어진다.다음 K개의 줄에는 각 직사각형의 좌표가 주어진다. 좌표는 왼쪽 아래 꼭짓점과 오른쪽 위 꼭짓점의 (x1, y1), (x2, y2) 형식으로 주어진다.출력 형식첫 번째 줄에는 색칠되지 않은 영역의 개수를 출력한다.두 번째 줄에는 각 영역의 크기를 오름차순으로 출력한다.2. 알고리즘 종류이 문제는 DFS (깊이 우선 탐색) 알고리즘을 사용하여 해결한다. 이 알고리즘을 사용하여 평면을 탐색하며 색칠되지 않은 영역을 찾아 그 크기를 구한다.3. 주요..
사과나무 (19539)1. 문제 분석문제 개요주어진 높이 배열을 이용해 높이를 조정하여 각 높이의 합이 3의 배수가 될 수 있는지 확인하는 문제이다.입력 형식첫째 줄에 배열의 크기 ( N )이 주어진다.둘째 줄에 ( N )개의 정수로 이루어진 배열의 높이가 주어진다.출력 형식높이 배열을 조정하여 3의 배수가 되는지 여부를 판단하여 "YES" 또는 "NO"를 출력한다.2. 알고리즘 종류이 문제는 수학적 판별을 사용하는 문제이다. 주어진 높이 배열을 분석하여 총합과 나머지 값을 계산하고, 특정 조건을 만족하는지 여부를 검사해야 한다.3. 주요 부분 및 코드 작성 방법1. 수학적 판별 사용배열의 총합을 계산하고, 이 총합이 3으로 나누어떨어지는지 확인한다.각 높이의 값들을 2로 나누어 떨어지는 부분과 나머지 ..
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를 사용하여 그림의 각 부분을 탐색한다. 방문한 셀을 기록하고, 연결된 셀을 재귀적으로 탐색하여 그림의 크기..
봄버맨 (16918)1. 문제 분석문제 개요주어진 격자판에 폭탄을 설치하고 시간이 흐름에 따라 폭탄이 터지도록 하는 시뮬레이션 문제이다. 초기 상태에서 폭탄이 설치된 위치와 시간이 주어지며, 이후 폭탄이 터지고 새로운 폭탄이 설치되는 과정이 반복된다.입력 형식첫 줄에 행(R)과 열(C)의 크기, 그리고 시뮬레이션 시간(N)이 공백으로 구분되어 주어진다.이후 R개의 줄에 걸쳐 C개의 문자가 주어지며, .은 빈 칸, O는 폭탄이 설치된 칸을 의미한다.출력 형식시뮬레이션이 끝난 후의 격자판 상태를 출력한다.2. 알고리즘 종류이 문제는 시뮬레이션 알고리즘을 사용하는 문제이다. 주어진 규칙에 따라 시간을 경과시키면서 상태 변화를 처리해야 한다. 특히, 폭탄이 터지는 시간과 새로운 폭탄 설치 등을 순서대로 처리해야..
농장 관리 (1245)1. 문제 분석문제 개요농장의 높이 정보가 주어졌을 때, 각 높이를 기준으로 주변을 탐색하여 봉우리를 찾는 문제이다. 봉우리란, 해당 지역보다 주변 모든 높이가 낮아야 하며, 같은 높이인 경우 연속된 지역도 포함된다. 이 문제는 DFS(깊이 우선 탐색)를 이용하여 해결할 수 있다.입력 형식첫 줄에 농장의 크기를 나타내는 N(행)과 M(열)이 주어진다.다음 N개의 줄에는 M개의 농장의 높이 정보가 주어진다.출력 형식봉우리의 개수를 출력한다.2. 알고리즘 종류DFS (깊이 우선 탐색)DFS를 사용하여 각 높이의 지역을 탐색하고, 그 지역이 봉우리인지를 판단하여 봉우리의 개수를 센다.3. 주요 부분 및 코드 작성 방법1. 농장 및 방문 배열 초기화입력된 농장 높이 정보를 저장하고, 방문 ..