반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/42626
소스
import java.util.PriorityQueue;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
//기본 셋팅
PriorityQueue<Integer> q = new PriorityQueue<>();
for (int x : scoville) {
q.offer(x);
}
while (q.size() > 1) { //음식 하나 남으면 못섞으니까.
if (q.peek() >= K) { //조건 통과하면 바로 리턴
return answer;
}
q.offer(q.poll() + q.poll() * 2); //섞어서 다시 넣음
++answer; //횟수 증가
}
if (q.peek() < K) { //음식 하나남았는데 조건 안되면 -1
return -1;
}
return answer;
}
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스] 문자열 압축 (0) | 2021.08.25 |
---|---|
[프로그래머스] 순위 검색 (0) | 2021.08.09 |
프로그래머스 압축 (0) | 2021.07.09 |
프로그래머스 튜플 (0) | 2021.07.08 |
프로그래머스 괄호 변환 (0) | 2021.07.01 |
최근댓글