Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

csct3434

[level 2] 프로세스 - 42587 본문

프로그래머스

[level 2] 프로세스 - 42587

csct3434 2024. 2. 28. 20:03

문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

class Solution {

    public int solution(int[] priorities, int location) {
       int answer = 0;
       PriorityQueue<Integer> pq = new PriorityQueue<>(Comparator.comparing(m -> -m));
       Queue<Integer> queue = new LinkedList<>();

       for (int i = 0; i < priorities.length; i++) {
          queue.add(i);
          pq.add(priorities[i]);
       }

       while (queue.size() > 1) {
          if (pq.peek() > priorities[queue.peek()]) {
             queue.add(queue.poll());
             continue;
          }

          answer++;
          if (pq.peek() == priorities[queue.peek()]) {
             pq.remove();
          }

          if (queue.poll() == location) {
             return answer;
          }
       }

       return priorities.length;
    }
}

'프로그래머스' 카테고리의 다른 글

[level 2] 가장 큰 수 - 42746  (0) 2024.02.28
[level 2] 더 맵게 - 42626  (0) 2024.02.28
[level 2] 기능개발 - 42586  (0) 2024.02.28
[level 2] 주식가격 - 42584  (0) 2024.02.28
[level 2] 다리를 지나는 트럭 - 42583  (0) 2024.02.28