-
[프로그래머스] 더 맵게 - Java공부/프로그래머스 2024. 8. 8. 21:50728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42626
프로그래머스 더 맵게 자바 풀이
난이도: Lv2
풀이
우선순위 큐를 사용한다.
큐에서 뽑은 것이 K보다 작은 경우 가장 작은 스코빌지수가 아직 K보다 작으므로,
가장 작은 스코빌 지수를 poll()하고 두번째 poll()한것을 두배를 하여 더한다.
이렇게 반복을 하며 K이상일 경우를 구한다.
코드
import java.util.PriorityQueue; class Solution { public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue<Integer> queue = new PriorityQueue<>(); for(int i=0;i<scoville.length;i++){ queue.add(scoville[i]); } while (queue.peek()<K) { if(queue.size()==1){ return -1; } queue.add(queue.poll()+queue.poll()*2); answer++; } return answer; } }
728x90반응형'공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 스킬트리 - Java (0) 2024.08.25 [프로그래머스] 공원 산책 - Java (0) 2024.08.09 [프로그래머스] 주식가격 - Java (0) 2024.08.07 [프로그래머스] 뒤에 있는 큰 수 찾기 - Java (0) 2024.08.06 [프로그래머스] 롤케이크 자르기 - Java (0) 2024.08.05