Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩테스트실력진단
- 파이썬
- react
- CSS
- 재귀
- 자료구조
- JS
- 백준알고리즘
- 코딩테스트
- 블챌
- BFS
- socket.io
- DFS활용
- 구현
- 코드트리
- 스택
- 완전탐색
- 스택자료구조
- DFS기초
- DP
- django
- 문자열
- 코테
- 백준
- Express
- 알고리즘
- 그리디알고리즘
- 그리디
- DFS
- react-query
Archives
- Today
- Total
꾸준하게 거북이처럼
백준 알고리즘 1914번 문제 - 하노이 탑2 본문
1914번: 하노이 탑
세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로
www.acmicpc.net
어제도 하노이 탑 문제(11729번)를 풀었는데, 오늘은 문제에서의 조건이 조금만 다른 하노이 탑 문제를 리뷰한다.
이 문제에서는 20이하의 입력일 때는 옮긴 횟수와 그 과정까지 출력이지만, 20을 넘어서면(20< n <= 100) 재귀 과정이 너무 깊어지기에 옮긴 횟수만 출력하는 문제이다.
쉽게 풀 수 있겠다 생각했지만 재귀가 너무 깊어져서 시간 초과가 계속 났다. 어떻게 하면 될까 고민해 본 결과, 잘 생각이 나지 않았다. 다른 블로거 분들의 문제 풀이를 보니, 문제가 말하고자 하는 것이 이는 재귀를 통해 횟수를 구하는 것이 아닌 일종의 점화식을 구하라는 것을 문제에서 암묵적으로 힌트를 주는 것임을 알 수 있다.
규칙을 알아보자,
n 이 1 일 때, 1
n이 2일 때, 3
n이 3일 때, 7
n이 4일 때, 15
.. => 즉 2^n - 1 이 점화식임을 알 수 있다.
심각하게 생각하지말고 센스를 길러보자^^
'Algorithm 문제 & 공부 > 재귀' 카테고리의 다른 글
백준 청소년 상어 파이썬 (0) | 2023.06.14 |
---|---|
백준 2447번 파이썬 별찍기 - 10 (0) | 2022.07.05 |
백준 알고리즘 11729번 문제 하노이 탑 (0) | 2022.04.05 |
재귀 관련 문제 풀 때, Recursion Runtime Error 대비하기 (0) | 2022.03.18 |
Comments