반응형
재귀함수
Recursion Function
재귀함수가 모냐면은 자기 자신을 다시 호출하는거에여
재귀함수 예시
이게 대표적인 재귀함수에여
def 재귀함수():
print('재귀인거시야')
재귀함수()
재귀함수()
재귀함수 안에 재귀함수가 있죠
파이썬은 기본적으로 최대 재귀 깊이 제한이 있어서 중간에 막혀여
오류뜬다는 소리져
오류가 왜뜨냐면 바닥이 드러나서입니당
count 로 몇번만에 바닥이 드러나는지 확인해보께여
count = 0
def 재귀():
global count
print(count, '번째 재귀인거시야')
count += 1
재귀()
재귀()
997번째에서 나네여 (0부터 시작합니당)
RecursionError: maximum recursion depth exceeded while calling a Python object
maximum recursion depth 가 최대 재귀 깊이 라는 뜻이구여
바닥찍었다는거죠
바닥이 드러나서라는거는 스택 생각하면 됩니다.
재귀함수는 일종의 스택이에요
다 쌓아놓고 하나씩 꺼내서 호출하다가 바닥이 보이면 오류가 뜨는거임
어찌되었든 바닥이 보이면 오류가 뜨니까
코테에서 재귀함수 쓸 때는 종료조건을 걸어줘야합니당
def 나(i):
if i == 5:
return
print(i, '번째 집어넣는중 <- ')
나(i + 1)
print(i, '번째 빼는중 -> ')
나(1)
i 가 5가 되면 return 으로 종료조건을 걸어줬습니다.
이런느낌이져
gif 였으면 더 느낌이 났을텐뎅...
반응형
'컴퓨터 > 알고리즘' 카테고리의 다른 글
[Java] 선형 검색 알고리즘 예시 코드(linear search) (0) | 2023.08.12 |
---|---|
[백준] 17478번 재귀함수가 뭔가요? 문제풀이 (python) (0) | 2022.08.06 |
[백준] 2747번 피보나치 수 문제풀이(python) (0) | 2022.08.01 |
[백준] 10872번 팩토리얼 문제 풀이 (python) (0) | 2022.07.31 |
[프로그래머스] Lv1 시저 암호_python 문제 풀이 (0) | 2022.07.09 |
댓글