728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42626
📌 접근 방법
이 문제는 음식들이 주어지고, 각 음식은 스코빌 지수라는 값으로 매겨져 있으며, 두 개의 가장 맵지 않은 음식을 섞어가며 모든 음식의 스코빌 지수를 특정 값 이상으로 만드는 것이 목표입니다. 우선순위 큐(PriorityQueue)를 활용해 정렬된 것을 이용하여 구현하였습니다.
[JAVA] PriorityQueue 란? / 사용법
📌 PriorityQueue 란?일반적인 Queue는 FIFO(First In, First Out) 형식의 자료구조입니다. (선입 선출)우선순위 큐(Priority Queue)는 들어가는 순서와 상관없이 우선순위가 높은 데이터가 먼저 Out되는 자료구조
nyeroni.tistory.com
PASS CODE
import java.util.*;
import java.util.stream.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int s : scoville) {
pq.add(s);
}
if(pq.peek() >= K) return 0;
while(pq.size()>1) {
int a = pq.poll();
int b = pq.poll();
int sum = a + b*2;
pq.add(sum);
answer ++;
if(pq.peek() >= K) {
break;
}
}
if(pq.size() == 1 && pq.peek() < K) return -1;
return answer;
}
}
728x90
반응형
'Coding Test > Programmers' 카테고리의 다른 글
[JAVA][Programmers] 스킬트리 (0) | 2025.03.19 |
---|---|
[JAVA][Programmers] 땅따먹기 (1) | 2025.03.19 |
[JAVA][Programmers] 모음사전 (0) | 2025.03.19 |
[JAVA][Programmers] 게임 맵 최단거리 (0) | 2025.03.19 |
[JAVA][Programmers] 타겟 넘버 (1) | 2025.03.19 |