[백준 문제] 9095번 1, 2, 3 더하기 재귀함수 사용 (파이썬)
[백준 문제] 9095번 1, 2, 3 더하기 재귀함수 사용 (파이썬)
- 첫 재귀함수 여행기
- 재귀함수 사용이 어워서 좀 더 공부할 필요있겠다.
1) 불가능한 경우 sum > goal 은 0
2) 정답을 찾은 경우 sum == goal 은 1
3) for문은 숫자를 사용할때마다 그 숫자를 더하고 다시 함수 돌려서 답이 나올때 1을 호출하는 방식(결국 싹다 돌린다.)
def go(sum, goal) :
if (sum > goal) :
return 0
if (sum == goal) :
return 1
now = 0
for i in range(1,4) :
now += go(sum+i, goal)
return now;
def go(sum, goal) :
if (sum > goal) :
return 0
if (sum == goal) :
return 1
now = 0
for i in range(1,4) :
now += go(sum+i, goal)
return now;
n = int(input())
for _ in range(n) :
print(go(0, int(input())))
3
4
7
20
121415
10
274