Search

์—„์ˆœ๋ฏผ

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
600
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
public int solution(int[] scoville, int K) { // ์•ž์˜ ๋‘ ์š”์†Œ๋ฅผ ๊บผ๋‚ด์–ด ์‚ฌ์šฉํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ ฌ๋œ ์ƒํƒœ๋กœ ๋„ฃ์–ด์•ผ ํ•จ // PriorityQueue -> ๊บผ๋‚ด๊ธฐ๋„ ์‰ฝ๊ณ , ์ƒˆ๋กœ์šด ๊ฐ’ ๋„ฃ์œผ๋ฉด ์ž๋™ ์ •๋ ฌ PriorityQueue pq = new PriorityQueue<>(); for (int i : scoville) { pq.add(i); } int cnt = 0; // ํ ์ œ์ผ ์•ž์˜ ๊ฐ’์ด ๋งค์šด๋ง› ๊ธฐ์ค€ ๋ณด๋‹ค ํฌ๋ฉด, ๋’ค์—๋Š” ๋ฌด์กฐ๊ฑด ๋‹ค ํผ // -> ๋”ฐ๋ผ์„œ ํ ์ œ์ผ ์•ž์˜ ๊ฐ’์ด ๋งค์šด๋ง› ๊ธฐ์ค€๋ณด๋‹ค ์ž‘์„ ๋™์•ˆ ๋ฐ˜๋ณต while ((int) pq.peek()<K) { // ํ์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ 1์ด๋ฉด, ๋‘ ์š”์†Œ๋ฅผ ๊บผ๋‚ผ ์ˆ˜ ์—†์Œ. // -> ์Šค์ฝ”๋นŒ์ ์ˆ˜๋ฅผ ๋” ์˜ฌ๋ฆด ์ˆ˜ ์—†์Œ = ๋งค์šด๋ง› ๊ธฐ์ค€์„ ๋„˜์„ ์ˆ˜ ์—†์Œ // -> ๋ฌธ์ œ ์กฐ๊ฑด์— ๋”ฐ๋ผ -1์„ ๋ฆฌํ„ด. if(pq.size() == 1 ) { cnt = -1; break; } // ํ์—์„œ ๋‘ ๊ฐœ๋ฅผ ๋ฝ‘์•„ ๊ณต์‹๋Œ€๋กœ ์„ž๊ณ  ๋‹ค์‹œ ํ์— ๋„ฃ๊ธฐ. // ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค cnt++; int first = (int) pq.poll(); int second = (int) pq.poll(); int answer = first + (second*2); pq.add(answer); cnt++; } return cnt; }
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
โ€ข
์š”์†Œ์˜ ์‚ญ์ œ, ์ถ”๊ฐ€์— ๋”ฐ๋ฅธ ์ž๋™ ์ •๋ ฌ์ด ์ง€์†์ ์œผ๋กœ ํ•„์š”ํ•ด PriorityQueue ์‚ฌ์šฉํ•จ