-
[프로그래머스] 더 맵게 - Java공부/프로그래머스 2024. 8. 8. 21:50728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42626
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
프로그래머스 더 맵게 자바 풀이
난이도: 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