27. 다음은 스택의 자료 삭제 알고리즘이다. ⓐ에 들어 갈 내용으로 옳은 것은? (단, Top: 스택포인터, S: 스택의 이름)

① Overflow ② Top = Top + 1
❸ Underflow ④ Top = Top
이 문제는 스택(Stack) 자료 구조에서 자료 삭제(pop)의 알고리즘을 이해하는 문제입니다. 주어진 코드에서 ⓐ에 들어갈 적절한 내용을 선택해야 합니다.
1. **스택(Stack)**의 기본 동작
- 스택은 후입선출(LIFO, Last In First Out) 방식으로 동작하는 자료 구조입니다.
- Top은 스택의 위치를 나타내는 스택 포인터입니다. 데이터가 삽입될 때는 Top이 증가하고, 데이터가 삭제될 때는 Top이 감소합니다.
2. 주어진 알고리즘 해석
주어진 알고리즘은 **스택에서 자료를 삭제(pop)**하는 과정을 나타내고 있습니다.
If Top = 0 Then ( a ) Else { remove S(Top) Top = Top - 1 }
- Top = 0이면, 스택이 비어있다는 의미입니다. 이 경우 자료를 삭제할 수 없으므로 오류를 처리해야 합니다.
- Top ≠ 0일 경우, 스택에서 Top 위치의 데이터를 삭제하고, Top 포인터를 하나 감소시킵니다.
3. ⓐ에 들어갈 내용
If Top = 0 Then ( a )에서 Top = 0일 때의 처리가 필요합니다. 스택이 비어 있을 때 자료 삭제가 불가능하므로, 이 경우에는 언더플로우(Underflow) 오류가 발생합니다.
- Underflow는 스택이 비어 있는 상태에서 자료 삭제를 시도할 때 발생하는 오류입니다.
따라서, ⓐ에는 **"Underflow"**가 들어가야 합니다.
4. 각 선택지 분석
- ① Overflow: **오버플로우(Overflow)**는 스택이 가득 차서 더 이상 자료를 넣을 수 없을 때 발생하는 오류입니다. 이는 자료를 삽입할 때 발생하는 문제이므로, 자료 삭제와는 관련이 없습니다.
- ② Top = Top + 1: 이는 자료 삽입(push) 시 동작하는 코드로, 삭제(pop)와는 관련이 없습니다.
- ❸ Underflow: 정답입니다. Top = 0일 때는 스택이 비어있다는 의미이므로, 자료를 삭제할 수 없고, 이때 발생하는 오류가 **언더플로우(Underflow)**입니다.
- ④ Top = Top: 이는 Top 포인터의 값이 변경되지 않는 코드로, 자료 삭제와는 관련이 없습니다.
5. 정답: ❸ Underflow
해설
Top = 0일 때는 스택이 비어 있으므로, 자료를 삭제할 수 없습니다. 이때 발생하는 오류는 **언더플로우(Underflow)**입니다. 따라서 ⓐ에는 Underflow가 들어가야 하며, 정답은 ❸입니다.
반응형
'기출문제 > 정보처리기사' 카테고리의 다른 글
2021년 3회 정보처리기사 기출문제 29번 (0) | 2025.03.14 |
---|---|
2021년 3회 정보처리기사 기출문제 28번 (0) | 2025.03.14 |
2021년 3회 정보처리기사 기출문제 26번 (0) | 2025.03.14 |
2021년 3회 정보처리기사 기출문제 25번 (0) | 2025.03.14 |
2021년 3회 정보처리기사 기출문제 24번 (0) | 2025.03.14 |