https://programmers.co.kr/learn/courses/30/lessons/42626
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ ๋งต๊ฒ
๋งค์ด ๊ฒ์ ์ข์ํ๋ Leo๋ ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ธฐ ์ํด Leo๋ ์ค์ฝ๋น ์ง์๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋ ๊ฐ์ ์์์ ์๋์ ๊ฐ
programmers.co.kr
์ฐ์ ์์ํ๊ฐ ํ์ ์ด์ฉํด์ ๊ตฌํ์ ํ๋ค๊ณ ํ๋ค. ์์๋ฅผ ์ถ๊ฐํ ๋๋ง๋ค ๊ฐ์ ์ ๋ ฌ์ ํด์ค๋ค.
์ด ๋ฌธ์ ๋ ์ฐ์ ์์ํ๋ฅผ ์จ์ผ ํจ์จ์ฑ ํ ์คํธ๋ฅผ ํต๊ณผํ ์ ์๋ค๊ณ ํ๋ค.
์ฝ๋
import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int i : scoville) {
pq.add(i);
}
int answer = 0;
while(pq.peek() < K) {
if(pq.size() == 1) {
return -1;
}
int mix = pq.poll() + (pq.poll() * 2);
answer++;
pq.add(mix);
}
return answer;
}
}
์ฐธ๊ณ
PriorityQueue(์ฐ์ ์์ํ) : https://coding-factory.tistory.com/603
[Java] PriorityQueue(์ฐ์ ์์ ํ) ํด๋์ค ์ฌ์ฉ๋ฒ & ์์ ์ด์ ๋ฆฌ
์ฐ์ ์์ ํ(Priority Queue)๋? ์ผ๋ฐ์ ์ผ๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์์๋๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ๋ก ์คํ๊ณผ๋ ๋ค๋ฅด๊ฒ FIFO(First In First Out)์ ๊ตฌ์กฐ ์ฆ ๋จผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ๋๊ฐ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋๋ค
coding-factory.tistory.com
ํ์ด : https://jar100.tistory.com/18
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ : ๋ ๋งต๊ฒ (java)
ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ (java) ๋ ๋งต๊ฒ ํ๋ก๊ทธ๋๋จธ์ค (๋ ๋งต๊ฒ) ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐฐ์ด์ค ๊ฐ(์ค์ฝ๋น ์ง์)์ด ๊ฐ์ฅ ๋ฎ์ ๋๊ฐ์ ์์์ ์กฐ๊ฑด ( a + b*2) ์ ๋ง์ถฐ ๊ณ์ฐํด ๋ชจ๋ ๋ฐฐ์ด์ ๊ฐ์ด k ์ด์์ด ๋๊ฒ ๋ง๋ค์ด
jar100.tistory.com
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ์ผ๊ฐ ๋ฌํฝ์ด (0) | 2022.06.20 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒ์ ๋งต (0) | 2022.06.14 |
ํ๋ก๊ทธ๋๋จธ์ค - ์์ด ๋๋ง์๊ธฐ (0) | 2022.06.04 |
ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐฐ๋ฌ (0) | 2022.05.09 |
ํ๋ก๊ทธ๋๋จธ์ค - ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2022.04.01 |