강의로 돌아가기
ioioiodd

우선순위가 같은경우

[1, 1, 9, 1, 1, 1] 0 이 입력된 경우 9, 1, 1, 1, 1, 1 으로 우선순위가 정립됩니다.
그런데 왜 답이 5인가요? 2 ~ 6 모두 해당되는거 아닌가요?
지문에는 우선순위가 같은경우 어떻게 처리해야 한다는 조건이 명시되지 않았는데요..

1 개의 답변
이관구

문제를 이렇게 생각하셔야 해요

1 1 9 1 1 1일때 맨앞의 1을 a라고 적어둘께요

먼저 a 1 9 1 1 1 에서 가장 큰 우선순위는 9죠? 우리는 맨앞에있는걸 먼저 꺼내보고 이게 가장 큰 우선순위보다 작으면 맨뒤로 보냅니다.

1 9 1 1 1 a 가 되죠

다시한번 앞에있는것과 우선순위 큰것을 비교하면

9 1 1 1 a 1 이 됩니다. -->1

이제 앞에있는거랑 9랑 비교해보면 같으니까 인쇄(즉 큐에서 제거) 하게되면

1 1 1 a 1 이되죠 -->2

가장큰 우선순위는 1이므로

1 1 a 1 -->3

1 a 1 -->4

a 1 -> 5

이렇게 되네요 그러면 a가 출력되는 순서는 5란것을 알 수 있습니다.

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