프로그래머스(Java) - 디펜스 게임

민지킴·2022년 12월 15일
0

문제링크

https://school.programmers.co.kr/learn/courses/30/lessons/142085?language=java

문제풀이


코드

import java.util.*;

class Solution {
    public int solution(int n, int k, int[] enemy) {
        int answer = 0;
        
        if(k>=enemy.length){
            return enemy.length;
        }
        
        PriorityQueue<Integer> pq = new PriorityQueue<Integer>(Collections.reverseOrder());
        for(int i=0; i<enemy.length; i++){
            pq.add(enemy[i]);
            n -= enemy[i];
            if(n<0){
                if(k==0){
                    return pq.size()-1;
                }else{
                    k--;
                    n += pq.peek();
                    pq.poll();
                    pq.add(0); 
                }
            }
        }
        return pq.size();
    }
}
profile
하루하루는 성실하게 인생 전체는 되는대로

0개의 댓글