728x90
📌오늘의 학습 키워드
- 오늘은 유명한 하노이의 탑 문제가 나왔다. 재귀를 대표하는 문제로 생각을 좀 해야 한다고 생각한다.
✨공부한 내용 본인의 언어로 정리하기
- 문제를 나눠서 생각하는 방법을 알아야한다. 그 과정에서 중요한 것들만 살리고 다른 것들은 묵음 처리(?) 해버리는 선택적 집중 능력!
- 여기에서도 가장 위에있는 블록만 생각하고 나머지는 한 뭉텅이로 생각한 다음에 그것을 그대로 재귀로 돌려야 한다.
📚오늘의 회고
- 어떤 문제가 있었고, 나는 어떤 시도를 했는지
- 처음 하노이의 탑 문제를 푼 지 한 5년이 지난 거 같은데 이번에도 시원치 않게 했다..
- 문제에서 1, 2, 3개의 기둥이 있고 1에 있는 것들을 모두 3 기둥으로 옮겨야 한다. 그렇다면 제일 위의 것을 2 기둥으로 옮기고 아래 전부를 3 기둥으로 옮긴다고 생각한다. 이것을 재귀로 나타내면 된다.
- 어떻게 해결했는지
- 인자로 무엇을 넘겨야 하는 지 고민하다가 살짝 치팅을 했다😇
- 무엇을 새롭게 알았는지
- 나는 아직 멀었다는 것을. ㅋㅋㅋ
- 내일 학습할 것은 무엇인지
- 재귀 다시 해야겠다...호호~
[🤓문제 해결 코드]
def solution(n):
answer = []
def move(N, start,mid):
answer.append([start, mid])
def hanoi(N, start, mid, end):
if N == 1:
move(1, start, end)
else:
hanoi(N-1, start, end, mid)
move(N, start, end)
hanoi(N-1, mid, start, end)
hanoi(n, 1, 2, 3)
return answer
728x90
'코딩테스트' 카테고리의 다른 글
프로그래머스 더 맵게 파이썬 (0) | 2024.07.30 |
---|---|
프로그래머스 기능개발 (0) | 2024.07.29 |
[코드트리 조별과제] 7월 22~27일 dx,dy 테크닉, 완전탐색 (0) | 2024.07.27 |
프로그래머스 의상 (0) | 2024.07.27 |
프로그래머스 전화번호 목록 (0) | 2024.07.26 |