티스토리 뷰

문제 풀이에 앞서,

안녕하세요. 자주 포스팅을 하고 싶은데, 저도 학업과 병행하고 있는지라 쉽지 않네요ㅠㅠ

기다려주셔서 감사하다는 말씀 드리며, 오늘의 포스팅 시작합니다:)

+) 오늘의 포스팅은 길이가 살짝 깁니당~


문제

문11. 다음 일련의 스택 연산에 의해 스택에서 삭제되는 자료를 순서대로 바르게 나열한 것은? (단, push(χ)는 스택에 자료 χ를 삽입하는 연산이고, pop()은 스택에서 자료 한 개를 삭제하는 연산이다.

push(9), pop(), push(5), push(7), push(2), pop(), push(9), pop(), push(4), pop(), pop(), push(6), push(3), pop(), push(2), pop(), pop()

① 9, 5, 9, 4, 7, 6, 2, 2

② 2, 3, 6, 4, 9, 2, 7, 5

③ 9, 2, 9, 4, 7, 3, 2, 6

④ 9, 5, 7, 2, 9, 4, 6, 3


정답

③번


풀이전 기초

* stack은 LIFO(Last In First Out)을 기본으로 따른다.

즉, 가장 최근에 스택에 추가한 항목이 가장 먼저 제거될 항목이다.


풀이과정

* 테이블은 스택을 나타냅니다.

 

1) push(9)

 
 
9

2) pop()

 
 
 

-> 삭제 순서 : 9


3) push(5), push(7), push(2)

2
7
5

4) pop()

 
7
5

-> 삭제 순서 : 9, 2


5) push(9)

9
7
5

6) pop()

 
7
5

-> 삭제 순서 : 9, 2, 9


7) push(4)

4
7
5

8) pop()

 
7
5

-> 삭제 순서 : 9, 2, 9, 4


9) pop()

 
 
5

-> 삭제 순서 : 9, 2, 9, 4, 7


10) push(6), push(3)

3
6
5

11) pop()

 
6
5

-> 삭제 순서 : 9, 2, 9, 4, 7, 3


12) push(2)

2
6
5

13) pop()

 
6
5

-> 삭제 순서 : 9, 2, 9, 4, 7, 3, 2


14) pop()

 
 
5

-> 삭제 순서 : 9, 2, 9, 4, 7, 3, 2, 6


따라서 정답이 3번이 되겠습니다.


마치며...

오늘 포스팅 길이가 길었죠?

사실 다른 프로그램으로 표를 따로 만들어서 이미지 형식으로 붙일까도 생각해 봤지만,

그럼 피드백을 받았을 때 수정이 힘들것 같아 오직 티스토리 에디터로만 작성했습니다.

(길어서 보기가 어려우신 분들이 많으면 이미지 제작 형태로 하겠습니다.)

언제든 피드백 환영이구요 :)

모두들 성공합시다!

댓글