https://school.programmers.co.kr/learn/courses/30/lessons/42626
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
자바에서는 힙을 PriorityQueue 자료구조로 사용한다. 디폴트가 오름차순이므로 앞에서부터 꺼내 가장 낮은 스코빌, 두 번째로 낮은 스코빌을 꺼내 사용한다.
가장 낮은 스코빌의 지수가 k이상일 때 종료된다.
코드
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
Queue<Integer> pq = new PriorityQueue<>();
for (int s : scoville){
pq.offer(s);
}
int mix;
while(pq.peek()<K){
if(pq.size()<2) return -1;
mix = pq.poll() + pq.poll() * 2;
pq.add(mix);
answer++;
}
return answer;
}
}
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 모의고사 - 자바 (0) | 2023.08.10 |
---|---|
[프로그래머스] 최소직사각형 - 자바 (0) | 2023.08.10 |
[프로그래머스] 주식 가격 - 자바 (0) | 2023.08.10 |
[프로그래머스] 프로세스 - 자바 (0) | 2023.08.10 |
[프로그래머스] k번째수 - 자바 (0) | 2023.08.10 |