목록boj (35)
All :L
나무 재테크 (16235)1. 문제 분석문제 개요나무 재테크 문제는 N x N 크기의 땅에 나무를 심고, 주어진 조건에 따라 나무를 키워나가며, K년이 지난 후 살아남은 나무의 개수를 구하는 문제이다.계절에 따라 나무의 성장, 죽음, 번식, 그리고 땅의 양분이 추가되는 과정이 주어지며, 이를 시뮬레이션으로 해결해야 한다.입력 형식첫 번째 줄에는 N(땅의 크기), M(처음 심어진 나무의 개수), K(몇 년 후까지 볼 것인지) 주어진다.그다음 N개의 줄에 각 칸에 추가되는 양분의 양이 주어진다.그다음 M개의 줄에 나무의 위치와 나이 정보가 주어진다.출력 형식K년 후에 살아남은 나무의 개수를 출력한다.2. 알고리즘 종류시뮬레이션: 계절별로 주어진 규칙에 따라 나무의 상태를 변화시켜 시뮬레이션을 진행한다.우선순..
컨베이어 벨트 위의 로봇 (20055)1. 문제 분석문제 개요주어진 컨베이어 벨트 위에 로봇을 올리고, 로봇을 이동시키는 작업을 반복하면서 각 칸에 있는 내구도가 0이 되는 칸의 개수가 K개 이상이 될 때까지 반복을 수행한다. 각 단계에서 로봇을 이동시키고, 로봇을 올리며 내구도를 갱신하는 작업을 정확히 구현해야 한다.입력 형식첫 번째 줄에는 두 정수 N, K가 주어진다. N은 컨베이어 벨트의 반 개수, K는 내구도가 0인 칸이 되어야 하는 목표값이다.두 번째 줄에는 각 칸의 내구도가 주어진다. 각 칸의 내구도는 1 이상 100 이하의 자연수로 주어진다.출력 형식목표값 K에 도달할 때까지 진행된 단계를 출력한다. 즉, K개의 칸의 내구도가 0이 될 때까지의 횟수를 출력한다.2. 알고리즘 종류이 문제는 시..
토마토 (7576)1. 문제 분석문제 개요토마토 상자에서 모든 토마토가 익는 데 걸리는 최소 일수를 구하는 문제이다.상자에서 익은 토마토가 인접한 익지 않은 토마토를 익게 한다.상자에 토마토가 없는 곳은 -1로 표시된다.입력 형식첫째 줄에 두 정수 M과 N이 주어진다. (1 ≤ M, N ≤ 1000)다음 N개의 줄에 M개의 정수로 이루어진 상자의 모양이 주어진다.1은 익은 토마토0은 익지 않은 토마토-1은 토마토가 없는 곳출력 형식모든 토마토가 익는 데 걸리는 최소 일수를 출력한다.만약 모든 토마토를 익히는 것이 불가능하면 -1을 출력한다.2. 알고리즘 종류이 문제는 그래프 탐색 문제로, 너비 우선 탐색 (BFS)를 사용하여 익은 토마토가 인접한 익지 않은 토마토를 익히는 과정을 시뮬레이션한다.3. 주요..
양치기 꿍 (3187)1. 문제 분석문제 개요양치기 꿍은 마당에서 양과 늑대가 몇 마리 있는지 확인하고자 한다.주어진 마당에서 "양"과 "늑대"가 각각 살아남을 수 있는 영역을 확인해야 한다.양과 늑대는 #으로 막힌 울타리로 둘러싸인 공간에서만 서로 영향을 주고받으며, 영역 안에서 양이 늑대보다 많으면 늑대가 모두 쫓겨나고, 그렇지 않으면 양이 모두 잡아먹힌다.입력 형식첫째 줄에 두 정수 R과 C가 주어진다. (3 ≤ R, C ≤ 250)다음 R개의 줄에는 C개의 문자로 이루어진 마당의 모양이 주어진다.'.'는 빈 필드'#'는 울타리'k'는 양'v'는 늑대출력 형식최종적으로 살아남는 양과 늑대의 수를 출력한다.2. 알고리즘 종류이 문제는 그래프 탐색 문제로, 울타리 #로 구분된 영역 내에서 각각의 양과 ..
N과 M (12) (15666)1. 문제 분석문제 개요주어진 N개의 숫자 중에서 M개의 숫자를 중복을 허용하여 선택하고, 선택된 숫자들이 오름차순으로 정렬된 모든 경우를 출력하는 문제이다.중복된 수열은 제거하며, 사전 순서대로 결과를 출력해야 한다.입력 형식첫째 줄에 두 정수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)둘째 줄에 N개의 정수가 주어진다. 이 정수들은 공백으로 구분되어 있다.출력 형식M개의 숫자를 중복을 허용하여 선택한 모든 경우를 사전 순서대로 출력한다. 각 수열은 한 줄에 하나씩 출력되며, 중복된 수열은 한 번만 출력된다.2. 알고리즘 종류이 문제는 조합 문제로, 중복을 허용하여 M개의 숫자를 선택하고, 선택된 수열이 오름차순으로 정렬되도록 한다.3. 주요 부분 및 코드 작성 방법..
N과 M (11) (15665)1. 문제 분석문제 개요주어진 N개의 숫자 중에서 중복을 허용하여 M개의 숫자를 선택해 사전 순서대로 나열하는 모든 경우를 출력하는 문제이다. 같은 수를 여러 번 선택할 수 있으며, 선택한 숫자들이 오름차순일 필요는 없다. 중복된 수열은 제거해야 한다.입력 형식첫째 줄에 두 정수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7)둘째 줄에 N개의 정수가 주어진다. 이 정수들은 공백으로 구분되어 있다.출력 형식M개의 숫자를 중복을 허용하여 선택한 모든 경우를 사전 순서대로 출력한다. 각 수열은 한 줄에 하나씩 출력되며, 중복된 수열은 한 번만 출력된다.2. 알고리즘 종류이 문제는 중복 순열 문제이다. 입력된 숫자들로부터 M개의 숫자를 중복을 허용하여 선택하고, 생성된 수열을 S..