문제: https://programmers.co.kr/learn/courses/30/lessons/12946
분할정복 문제입니다.
N번째 원판을 1->3번으로 이동시키기 위해서는 아래와 같은 과정을 거칩니다.
1. 1~N-1번째까지의 원판을 1->2번으로 이동
2. N번째 원판을 1->3번으로 이동
3. 1~N-1번째까지의 원판을 2->3번으로 이동
그러면 다시 N-1번째 원판을 1->2번으로 이동시키기 위해서는 아래와 같은 과정을 거칩니다.
1. 1~N-2번째 원판을 1->3번으로 이동
2. N-1번재 원판을 1->2번으로 이동
3. 1~N-2번째 원판을 3->2번으로 이동
즉, 위 과정을 기저사례까지 반복하기 때문에 아래 두 가지 케이스를 나눠서 재귀로 풀면됩니다.
1. N번째에 할 일
2. 1~N-1번째까지 할 일
'Algorithm > Programmers' 카테고리의 다른 글
[PRGRMS]72413번: 합승 택시 요금 (0) | 2022.04.12 |
---|---|
[PRGRMS]43238번: 입국심사 (0) | 2022.03.23 |
[PRGRMS]42839번: 소수 찾기 (0) | 2022.03.23 |
[PRGRMS]92343번: 양과 늑대 (0) | 2022.03.23 |
[PRGRMS]92341번: 주차 요금 계산 (0) | 2022.03.17 |