재귀함수

    Python 재귀함수 알고리즘 - 백준 11729 하노이탑

    Python 재귀함수 알고리즘 - 백준 11729 하노이탑 www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net def move(n, start, end): if n == 1: print(start, end) return move(n - 1, start, 6 - start - end) # 시작부분에서 저장하는 곳으로 다 옮긴 것 print(start, end) # 시작부분에서 끝부분으로 이동 move(n - 1, 6 - start - end, end)..

    Python 재귀함수 알고리즘 Factorial, 회문 검사

    Factorial # Factorial(N) = N*Factorial(N-1) # ... # Factorial(1) = 1 def factorial(n): if n == 1: return 1 return n * factorial(n-1) print(factorial(5)) factorial 예시. 함수에 5를 넣었을때 5x4x3x2x1 이렇게 작동되어 결과값 120이 나온다. 여기서 주의할 점은 탈출 조건을 만들어야 한다. 이 경우는 if를 활용하여 n이 1과 같아질 때 1을 돌려주어 함수가 끝난다. 만약 그렇지 않을 경우엔 계속해서 n * factorial(n-1)이 작동되어 곱셈을 더해간다. 회문 검사 input = "소주만병만주소" def is_palindrome(string): if string[..