목록분할정복 (2)
말랑말랑제리스타일

백준11729번 문제는 하노이탑 이동 순서 문제입니다. 하노이탑 이동 문제는 대표적인 재귀함수로 풀기 쉬운 문제이며, 재귀함수를 이해하기에도 좋은 문제입니다. 자 그럼 여기서 하노이탑 문제란 뭐냐? 다들 이런식으로 생긴 장난감 본적 있을겁니다. 왼쪽처럼 생긴 모양을 오른쪽 모양으로 옮기는 문제이며, 여기서 작은 원판 위에는 큰 원판이 올 수 없습니다. 기본적인 하노이탑 이동 문제의 이동 규칙이며, 백준 알고리즘 11729 문제는 이 하노이탑에서 원판을 이동하는 순서와 전체 이동 횟수를 출력하는 문제입니다. 일단 파이썬으로 작성된 코드부터 보고 본격적으로 코드 및 문제 설명 들어갑니다 백준 11729 답안 파이썬 코드 def movement(n,f,e,t,Arr): #f에서 t로 이동한다 e는 비어있는 공..
재귀함수(Recursion)의 정의 재귀함수의 재귀는 한자로 두번 재에 돌아올 귀자를 써서 再歸 라고 표현됩니다. 영어로는 Recursion이라고 표현합니다. 실제 코드에서는 어떤 함수 안에서 그함수 자신을 호출하는 함수를 재귀함수(Recursion)라고 표현합니다. 재귀함수 구현방법 재귀함수의 요건 종료조건(기저조건) 재귀함수에서 필수적인 요소가 바로 종료조건입니다. 아래 코드에서 종료조건이라고 주석처리한 라인이 없다면 무한히 루프를 돌다가 결국 스택오버플로우를 일으키고 프로그램이 죽습니다. 그래서 어느 조건에 도달하면 이 함수를 끝낸다는종료조건을 넣어주어야 합니다. func recursive(){ func recursive() if(종료조건) //종료조건 return //종료조건 } 분할정복 재귀함..