목록CODING (40)
All :L
N과 M (5) (15654)1. 문제 분석문제 개요N개의 자연수 중에서 M개를 고른 수열을 모두 출력하는 문제이다.각 수열은 사전 순으로 증가하는 순서로 출력해야 한다.입력 형식첫 번째 줄에 자연수 N과 M이 주어진다.두 번째 줄에 N개의 자연수가 주어진다.출력 형식M개의 수로 이루어진 수열을 사전 순으로 출력한다.2. 알고리즘 종류이 문제는 백트래킹(Backtracking) 알고리즘을 사용하여 해결한다. 백트래킹을 통해 모든 가능한 수열을 생성하고, 조건에 맞는 수열을 출력한다.3. 주요 부분 및 코드 작성 방법1. 입력 처리 및 초기화입력을 받아 N개의 수를 저장하고, 수열을 생성하기 위한 배열과 방문 여부를 체크하는 배열을 초기화한다.2. 백트래킹을 통한 수열 생성백트래킹 기법을 사용하여 재귀적으..
모든 순열 (10974)1. 문제 분석문제 개요주어진 자연수 N에 대해, 1부터 N까지의 모든 숫자로 이루어진 순열을 사전순으로 출력하는 문제이다.입력 형식첫 번째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 8)출력 형식모든 순열을 사전순으로 출력한다. 각 순열은 한 줄에 하나씩 출력한다.2. 알고리즘 종류이 문제는 백트래킹(Backtracking) 알고리즘을 사용하여 해결한다. 백트래킹을 통해 가능한 모든 숫자 조합을 생성하고, 이미 선택된 숫자는 다시 선택하지 않도록 하여 모든 순열을 출력한다.3. 주요 부분 및 코드 작성 방법1. 백트래킹을 사용한 순열 생성백트래킹 기법을 사용하여 가능한 모든 숫자 조합을 생성한다. perm 함수가 재귀적으로 호출되며, 각 호출마다 다음 숫자를 선택하여 배열에 추..
영역 구하기 (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를 사용하여 그림의 각 부분을 탐색한다. 방문한 셀을 기록하고, 연결된 셀을 재귀적으로 탐색하여 그림의 크기..