[프로그래머스] 프로세스 - Java

2025. 4. 24. 18:40·프로그래머스 알고리즘/Java

https://school.programmers.co.kr/learn/courses/30/lessons/42587

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

⭐️ 중요 포인트

1. PriorityQueue를 내림차순으로 정렬시켜 남은 프로세스들을 관리

2. priorities를 순서대로 순회하며 우선순위에 맞게 반복

(남은 프로세스(restProcess)에서 이미 poll()된 값들은 비교하지 않으므로 우선순위가 높은 순으로 비교가 가능함.

단, for문을 끝까지 돌아야 바로 다음부터 비교하는 시뮬레이션이 돌아가므로 for문을 순회)

 

 

import java.util.*;

class Solution {
    public int solution(int[] priorities, int location) {
        int answer = 0;
        
        Queue<Integer> restProcess = new PriorityQueue<>(Collections.reverseOrder());
        
        for (int i = 0; i < priorities.length; i++) {
            restProcess.add(priorities[i]);
        }
        
        while (!restProcess.isEmpty()) {
            for (int i = 0; i < priorities.length; i++) {
                if (restProcess.peek() == priorities[i]) {
                    restProcess.poll();
                    answer++;
                
                    if (i == location) {
                        return answer;
                    }
                }
            }
        }
        
        return answer;
    }
}

'프로그래머스 알고리즘 > Java' 카테고리의 다른 글

[프로그래머스] 타겟 넘버 - Java  (0) 2025.04.24
[프로그래머스] 큰 수 만들기 - Java  (0) 2025.04.24
[프로그래머스] 베스트앨범 - Java  (0) 2025.04.23
[프로그래머스] 의상 - Java  (0) 2025.04.23
[프로그래머스] 전화번호 목록 - Java  (0) 2025.04.23
'프로그래머스 알고리즘/Java' 카테고리의 다른 글
  • [프로그래머스] 타겟 넘버 - Java
  • [프로그래머스] 큰 수 만들기 - Java
  • [프로그래머스] 베스트앨범 - Java
  • [프로그래머스] 의상 - Java
리버🐦‍🔥
리버🐦‍🔥
개발새발 개발일기
  • 리버🐦‍🔥
    개발도 개발새발
    리버🐦‍🔥
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 백준 알고리즘
        • Python
        • Java
      • 프로그래머스 알고리즘
        • Python
        • Swift
        • Java
      • 코드트리 알고리즘
        • Python
      • Spring boot
        • 스프링 부트 3 백엔드 개발자 되기(자바편)
      • SwiftUI
      • UIKit
      • Programming Language
        • Swift
        • Java
      • 공부해야될 것
        • iOS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    깊이 우선 탐색
    너비 우선 탐색
    Java
    스위프트
    큐
    Python
    그리디 알고리즘
    구현
    uikit
    ci/cd
    자바
    UITextView
    Baekjoon
    데이터베이스
    Swift
    스프링 부트 3 백앤드 개발자 되기 : 자바편
    programmers
    코드베이스
    그래프
    ios
    프로그래머스
    스프링 부트 3 백엔드 개발자 되기 : 자바편
    백준
    애너테이션
    파이썬
    Code-based
    문자열
    스프링 부트 3
    스프링 부트
    백앤드 개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
리버🐦‍🔥
[프로그래머스] 프로세스 - Java
상단으로

티스토리툴바