프로그래머스 Level2 프린터. [상당히 애먹은 문제..] [ 나만의 풀이 ]
Queue의 활용보다는 도메인 로직이 더 까다로웠던 문제 문제가 언급한 규칙 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. J를 인쇄하고 다시 1, 2, 3의 규칙이 진행된다. EX. [2, 1, 3, 5, 4]라고 할 때 가장 중요한 우선순위를 가진 5가 나올때까지 앞에 모든 문서들은 뒤로 넘어간다. => [5, 4, 2, 1, 3] 이후 5를 프린트한다. [ 4, 2, 1, 3] 4가 다음으로 우선순위가 높으므로 바로 프린트한다. [2, 1, 3] => [1, 3, 2] => [3, 2, 1] 이 되며 순차적으로 3, ..