명예의 전당 (1)

magicdrill·2024년 11월 22일

프로그래머스 명예의 전당 (1)

프로그래머스의 경우 자동완성이 지원되지 않는다. C++은 자동완성 없어도 어느정도 가능하지만 Java는 아직 부족하니까 좀더 연습해본다.

이번 코드에서는 Vector와 함께 Collections.min() 메서드를 사용해 보았다.

import java.util.Arrays;
import java.util.Collections;//Collections.min() 메서드 사용을 위해
//import java.util.List; //리스트
import java.util.Vector; //벡터

class Solution {
    public int[] solution(int k, int[] score) {
        //int[] answer = {};
        int [] answer = new int[score.length];
        int i, j;
        
        Vector <Integer> numbers = new Vector<>();
        
        for(i = 0; i < score.length; i++){
            numbers.add(score[i]);
            
            // System.out.print(i + "번째 numbers 벡터 : ");
            // for(j = 0; j < numbers.size(); j++){
            //     System.out.print(numbers.get(j) + " ");
            // }
            // System.out.println();
            
            if(numbers.size() > k){
                numbers.remove(Collections.min(numbers));
                //numbers에서 가장 작은 값을 찾아서 numbers에서 삭제
            }
            
            // System.out.print(i + "번째 numbers 벡터에서 삭제 결과 : ");
            // for(j = 0; j < numbers.size(); j++){
            //     System.out.print(numbers.get(j) + " ");
            // }
            // System.out.println("\n");
            
            answer[i] = Collections.min(numbers);
        }
        
        return answer;
    }
}

0개의 댓글