백준 #10872: 팩토리얼
풀이 def factorial(n): if n == 1 or n == 0: return 1 return n * factorial(n-1) n = int(input()) print(factorial(n)) 접근법 재귀 중에서도 가장 간단한 문제다. 전체적인 흐름을 보면 다음과 같다. 1 2 * factorial(1) 3 * factorial(2) 4 * factorial(3) 5 * factorial(4) 우선, 위처럼 값을 모두 쌓아둔다. (push) 그리고 각 값을 출력할 때, 메모리 입장에서는 factorial() 값을 모르기 때문에 pop을 해서 factorial(1) = 1 과 같이 값을 거꾸로 찾아간다. 즉, 2 * factorial(1) = 2 * 1 3 * factorial(2) = 3 * ..
프로그래밍/BOJ
2020. 2. 2. 18:18