반응형
📌 퀴즈 개요
다음 퀴즈를 통해 재귀 함수(Recursion)와 스택(Stack) 메커니즘 개념을 정확히 이해하고 있는지 확인해 보세요! 😊
🧩 1. 개념 이해 문제
(1) 재귀 함수(Recursion)의 기본 종료 조건(Base Case)에 대한 설명으로 옳지 않은 것은?
- 재귀 함수가 무한히 실행되지 않도록 도와준다.
- 기본 종료 조건이 없으면 스택 오버플로우(Stack Overflow)가 발생할 수 있다.
- 기본 종료 조건이 없는 재귀 함수는 항상 None을 반환한다.
- 기본 종료 조건을 만나면 더 이상 재귀 호출을 수행하지 않는다.
(2) 다음 중 재귀 함수와 관련이 가장 적은 개념은?
- 스택(Stack)
- 후입선출(LIFO)
- 큐(Queue)
- 스택 오버플로우(Stack Overflow)
🧩 2. 실전 문제
(3) 다음 코드의 실행 결과는?
def recursive_sum(n):
if n == 0:
return 0
return n + recursive_sum(n - 1)
print(recursive_sum(3))
- 3
- 6
- 10
- 0
(4) 다음 코드가 실행될 경우 발생할 수 있는 문제는?
def infinite_recursion(n):
print(n)
infinite_recursion(n + 1)
infinite_recursion(1)
- 무한 루프 발생
- 스택 오버플로우 발생
- 프로그램 정상 종료
- 1만 번 반복 후 종료
🏆 정답 및 해설
(1) 정답: 3
✅ 기본 종료 조건이 없는 재귀 함수는 무한히 실행될 수 있으며, None을 반환하는 것이 아니라 **스택 오버플로우(Stack Overflow)**를 발생시킬 수 있습니다.
(2) 정답: 3
✅ 큐(Queue)는 선입선출(FIFO) 방식이며, 재귀 함수는 스택(Stack) 구조를 사용하여 후입선출(LIFO) 방식으로 동작합니다.
(3) 정답: 2
✅ recursive_sum(3) 함수는 3 + 2 + 1 + 0 = 6을 반환합니다.
(4) 정답: 2
✅ 기본 종료 조건 없이 자기 자신을 계속 호출하면, 호출이 스택에 쌓이면서 **스택 오버플로우(Stack Overflow)**가 발생하게 됩니다.
반응형
'IT > algorithm' 카테고리의 다른 글
[Python] 알고리즘 개념11 퀴즈 - 우선순위 큐와 힙 (0) | 2025.02.23 |
---|---|
[Python] 알고리즘 개념11 - 우선순위 큐와 힙(Heap) (0) | 2025.02.23 |
[Python] 알고리즘 개념10 퀴즈 - 해시 테이블과 해싱 (0) | 2025.02.23 |
[Python] 알고리즘 개념10 - 해시 테이블과 해싱 (0) | 2025.02.23 |
[Python] 알고리즘 개념9 - 재귀 함수의 스택 메커니즘 (0) | 2025.02.23 |
[Python] 알고리즘 개념8 퀴즈 - 큐 (0) | 2025.02.21 |
[Python] 알고리즘 개념7 퀴즈 - 스택 (0) | 2025.02.21 |
[Python] 알고리즘 개념6 퀴즈 - 연결 리스트(Linked List) (0) | 2025.02.20 |
댓글