1. 문제 링크
https://www.acmicpc.net/problem/11729
2. 나는 어떻게 생각했는가?
- 문제도 이해했고, 손으로 직접 그려가면서 풀이도 해보았다.
- 그러나 규칙성을 찾고, 규칙을 코드로 구현하는 능력이 많이 부족하다는 것을 다시한번 깨닫게 하였다.
- 사실 해답코드를 읽고도, 저런 규칙성으로 이 문제가 풀린다는 것이 완벽하게 이해가 가지 않는다.
3. 정답 코드
n = int(input())
def hanoi(n, start, other, to): #start(시작기둥), to(목표기둥), other(남은기둥)
if n == 1:
print(start, to)
else:
hanoi(n - 1, start, to, other)
print(start, to)
hanoi(n - 1, other, start, to)
sum = 1
for i in range(n - 1):
sum = sum * 2 + 1
print(sum)
hanoi(n, 1, 2, 3)
'Algorithm > 알고리즘 문제풀이' 카테고리의 다른 글
백준 2750 파이썬 - 수 정렬하기(삽입정렬) (0) | 2021.08.24 |
---|---|
백준 2750 파이썬 - 수 정렬하기(버블정렬) (0) | 2021.08.23 |
백준 2447 파이썬 - 별 찍기 10 (0) | 2021.08.17 |
백준 10870 파이썬 - 피보나치 5 (0) | 2021.08.17 |
백준 10872 파이썬 - 팩토리얼 (0) | 2021.08.17 |
댓글