반응형

📌 퀴즈 개요
다음 퀴즈를 통해 스택(Stack) 개념을 정확히 이해하고 있는지 확인해 보세요! 😊
🧩 1. 개념 이해 문제
(1) 스택(Stack)의 특징으로 옳지 않은 것은?
- push 연산을 통해 데이터를 추가할 수 있다.
- 스택의 맨 아래 요소를 pop 연산으로 제거할 수 있다.
- peek 연산을 통해 스택의 맨 위 요소를 확인할 수 없다.
- 후입선출(LIFO) 방식으로 동작한다.
(2) 다음 중 스택의 활용 사례가 아닌 것은?
- 실행 취소(Undo) 기능
- 웹 브라우저의 뒤로 가기 기능
- 큐(Queue)를 사용한 프로세스 스케줄링
- 재귀 함수 호출 스택
🧩 2. 실전 문제
(3) 다음 코드의 실행 결과는?
from collections import deque
stack = deque()
stack.append(10)
stack.append(20)
stack.append(30)
print(stack.pop())
print(stack.pop())
- 30 20
- 10 20
- 20 10
- 30 10
(4) 다음 코드가 출력할 결과는?
def reverse_string(s):
stack = list(s)
reversed_str = ""
while stack:
reversed_str += stack.pop()
return reversed_str
print(reverse_string("hello"))
- "ehllo"
- "hello"
- "olleh"
- "holle"
🏆 정답 및 해설
(1) 정답: 2
✅ 스택의 pop 연산은 항상 맨 위(top) 요소를 제거합니다. 따라서 맨 아래 요소를 직접 제거할 수 없습니다.
(2) 정답: 3
✅ 큐(Queue)는 선입선출(FIFO) 방식이며, 프로세스 스케줄링과 같은 작업에서 주로 사용됩니다.
(3) 정답: 1
✅ append(10) → append(20) → append(30) 순으로 스택에 추가되었으며, pop() 연산을 수행하면 가장 마지막에 추가된 30이 먼저 제거됩니다. 따라서 출력은 30 20이 됩니다.
(4) 정답: 3
✅ 스택을 이용하여 문자열을 뒤집으면 hello가 olleh로 변환됩니다.
반응형
'IT > algorithm' 카테고리의 다른 글
[Python] 알고리즘 개념10 - 해시 테이블과 해싱 (0) | 2025.02.23 |
---|---|
[Python] 알고리즘 개념9 퀴즈 - 재귀 함수의 스택 메커니즘 (0) | 2025.02.23 |
[Python] 알고리즘 개념9 - 재귀 함수의 스택 메커니즘 (0) | 2025.02.23 |
[Python] 알고리즘 개념8 퀴즈 - 큐 (0) | 2025.02.21 |
[Python] 알고리즘 개념6 퀴즈 - 연결 리스트(Linked List) (0) | 2025.02.20 |
[Python] 알고리즘 개념5 퀴즈 - 동적 프로그래밍(DP) (0) | 2025.02.20 |
[Python] 알고리즘 개념8 - 큐(Queue) (0) | 2025.02.20 |
[Python] 알고리즘 개념7 - 스택(Stack) (0) | 2025.02.20 |
댓글