명예의 전당 (1)

108번뇌·2023년 1월 5일

https://school.programmers.co.kr/learn/courses/30/lessons/138477

import java.util.*;

class Solution {
    public int[] solution(int k, int[] score) {
        int [] answer = new int[score.length];
        
        var lTemp = new ArrayList<Integer>();
        for(int i=0; i<score.length; i++)
        {
            lTemp.add(score[i]);

            if(i>=k)
            {
                lTemp.remove(Collections.min(lTemp));
            }
            answer[i] = Collections.min(lTemp);
        }
        return answer;
    }
}
import java.util.*;

class Solution {
    public int[] solution(int k, int[] score) {
        int [] answer = new int[score.length];
        var pq = new PriorityQueue<Integer>();

        for(int i=0; i<score.length; i++)
        {
            pq.add(score[i]);
            if(pq.size()>k)
            {
                pq.poll();
            }
            answer[i] = pq.peek();
        }
        return answer;
    }
}

익힐것
1. 우선순위큐
var pq = new PriorityQueue(); : 오름차순
var pq = new PriorityQueue(Comparator.reverseOrder()); : 내림차순
pq.poll(); : pop

  1. 리스트
    var list = ArrayList();
    list.remove(Collections.min(list));
    list.remove(Collections.max(list));
profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글