๊ธฐ๋ก๋ฐฉ

Lv.1 : ๋ช…์˜ˆ์˜ ์ „๋‹น (1) ๋ณธ๋ฌธ

CodingTest/Java

Lv.1 : ๋ช…์˜ˆ์˜ ์ „๋‹น (1)

Soom_1n 2023. 4. 14. 13:15

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋  ๋•Œ ๋งˆ๋‹ค ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ–ˆ์„ ๋•Œ, k ๋ฒˆ์งธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ๋ฐฐ์—ด์˜ ์ •๋ ฌ์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ์ปค์ง€๋ฏ€๋กœ java ์šฐ์„ ์ˆœ์œ„ ํ์˜ ์ตœ๋Œ€ ํž™์„ ์‚ฌ์šฉํ•ด ์ •๋ ฌํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.PriorityQueue;

class Solution {
    public int[] solution(int k, int[] score) {
        int[] answer = new int[score.length];
        
        PriorityQueue<Integer> que = new PriorityQueue<>();
        for(int i = 0; i < score.length; i++) {
            que.add(score[i]);
            
            if(que.size() > k) que.poll();
            
            answer[i] = que.peek();
        }
        
        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ์šฐ์„ ์ˆœ์œ„ ํ์˜ ์ˆ˜๊ฐ€ k๊ฐœ๊ฐ€ ๋˜๋„๋ก ์œ ์ง€ํ•˜๋ฉด์„œ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ peek๋กœ ํ™•์ธํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ฒ˜์Œ์—” ํ์˜ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ pollํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ addํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์—ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ํ’€์ด๋ฅผ ๋ณด๊ณ  peek์ด ์žˆ๋‹ค๋Š”๊ฒŒ ์ƒ๊ฐ๋‚˜์„œ  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค.

728x90