원본 : https://school.programmers.co.kr/learn/courses/30/lessons/142085
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
import java.util.PriorityQueue;
import java.util.Queue;
class Solution {
public int solution(int n, int k, int[] enemy) {
int answer = 0;
int enemySum = 0;
Queue<Integer> maxEnemyNumQueue = new PriorityQueue<>((o1, o2) -> o2 - o1);
for (int enemyNum : enemy) {
enemySum += enemyNum;
maxEnemyNumQueue.add(enemyNum);
if (enemySum > n) {
if (!maxEnemyNumQueue.isEmpty() && k-- > 0) {
enemySum -= maxEnemyNumQueue.poll();
} else {
break;
}
}
answer++;
}
return answer;
}
}
크기가 작은 부분 문자열 (연습문제) (0) | 2023.01.02 |
---|---|
숫자 카드 나누기 (연습문제) (0) | 2022.12.12 |
귤 고르기 (연습문제) (0) | 2022.12.09 |
점 찍기 (연습문제) (0) | 2022.12.09 |
명예의 전당 (1) (연습문제) (0) | 2022.12.09 |
댓글 영역