강의로 돌아가기
김동국

2번째 테스트 케이스에 질문이 있습니다.

[1, 1, 9, 1, 1, 1] 0 5
라고 나왔는데

'index 0인 작업이 다섯번째 처리된다'라는 것으로 이해했습니다.

근데 조건으로는

인덱스[2] = 9 가 가장 먼저 처리되고,
index 0인작업이 가장 뒤로 간이후에
[1, 1, 1, 1, 1]에서 순차적으로 처리된다면
index 0 이었던 작업은 가장 마지막 (6)번째에 처리되는 것 같은데 제가 잘못 파악하고 있는건가요?

2 개의 답변
Demi

1번째: [1, 1, 9, 1, 1, 1] 우선순위가 높은 숫자가 있으므로, 큐를 [9, 1, 1, 1, 1, 1]로 정리해 9를 pop 합니다.
2번째: [1, 1, 1, 1, 1]에서 1을 pop 합니다.
3번째: [1, 1, 1, 1]에서 1을 pop 합니다.
4번째: [1, 1, 1]에서 1을 pop 합니다.
5번째: [1, 1]에서 1을 pop 합니다.

이므로 가장 마지막이 아닌 5번째에 처리됩니다. :)

  • JeHwanYoo
    가장 마지막으로 가는데 왜 마지막에서 두번째에 넣나요?? JeHwanYoo 2018.10.06 22:14
  • Frederic Kim
    실제 1번째 출력까지의 처리 순서는 ["1",1,9,1,1,1] -> [1,9,1,1,1,"1"] -> [9,1,1,1,"1",1] 가 되고, 이 때 출력이 되므로 "1번째" 가 되겠네요! Frederic Kim 2018.10.26 11:24
김동국

아... 무슨 얘긴지 이해가 가네요..
제가 문제를 잘못이해하고있던것 같애요 감사합니다!

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.