티스토리 뷰
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/42626
2. 설명
우선순위 큐를 사용해서 풀었다!
처음에 리스트 사용해서 정렬하는 방식으로 풀었는데
효율성 이전에 정확성에서 틀려버리더라
왜그런지는 모르겠다.
3. 코드
import java.util.PriorityQueue;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int i : scoville)
pq.add(i);
while(pq.peek()<K) {
if(pq.size()==1) return -1;
int n = pq.poll() + pq.poll()*2;
pq.add(n);
answer++;
}
return answer;
}
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 등굣길 JAVA (0) | 2020.07.23 |
---|---|
프로그래머스 단속카메라 JAVA (탐욕법, Greedy) (0) | 2020.06.30 |
프로그래머스 큰 수 만들기 JAVA (0) | 2020.06.26 |
프로그래머스 다리를 지나는 트럭 JAVA (0) | 2020.06.24 |
프로그래머스 짝지어 제거하기 JAVA (0) | 2020.06.18 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday