728x90
반응형
문제 설명
1. 프린트 뽑는 순서와 중요도가 정해져 있다.
2. 프린트를 순서대로 가져오는데, 현재 뽑을 예정인 순서의 프린트보다 중요도가 높은 것이 있으면 현재 순서의 프린트를 맨 뒤로 보내준다.
3. 중요도는 1~9로 존재하며 숫자가 클수록 중요하다.
4. location에 해당하는 프린트가 몇 번째로 뽑히는지 찾아 return하면 된다.
풀이 과정
1. queue에 넣어두고 하나씩 빼서 비교해 준다.
2. queue내에 현재 peek값보다 큰 중요도를 갖는 것이 있으면 현재 peek를 빼서 다시 넣으면 최후미로 이동할 것이다.
3. 해당 process를 계속 진행하면서 프린트가 뽑힐 때 마다 location을 하나씩 빼면서 진행해 주고, location이 0이고, 현재 값이 출력된 경우가 답이 된다.
4. 만약 location은 0이라면 현재 위치가 구해야 하는 위치인데, 이것이 다시 맨 뒤로 이동하는 경우, 진행해야 하는 process를 구해서 더해 준다.
5. 전체 process의 진행동안 answer을 1씩 추가하여, 마지막 location이 출력되는 경우가 정답이 된다.
코드
반응형
'알고리즘 공부' 카테고리의 다른 글
[백준 1700번] 멀티탭 스케줄링 - java (0) | 2021.05.09 |
---|---|
[백준 1062번] 가르침 - java (0) | 2021.05.09 |
[프로그래머스] 체육복 - java (0) | 2021.05.02 |
[프로그래머스] 모의고사 - java (0) | 2021.05.02 |
[백준 1987번] 알파벳 - java (0) | 2021.05.02 |