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

홈런볼·2023년 6월 21일
0

프로그래머스

목록 보기
1/36

문제링크

https://school.programmers.co.kr/learn/courses/30/lessons/138477?language=java

문제풀이

import java.util.Arrays;

class Solution {
    public int[] solution(int k, int[] score) {
        int[] answer = new int[score.length];
        int[] arr = new int[k];
        Arrays.fill(arr,2001);
        for(int i=0;i<score.length;i++){
            if(i < k) arr[i]=score[i];
            if(i >=k && arr[0] < score[i]) arr[0] = score[i];
            Arrays.sort(arr);
            answer[i] = arr[0];
        }
        return answer;
    }
}

로직

  1. k크기의 arr 배열, 발표점수를 담을 answer 배열 선언
  2. score 배열을 순차적으로 반복
  3. k되기 전 까지 score에 순차적으로 넣어줌
  4. k+1 인덱스 에서 score를 가져옴. arr 정렬, 최솟값 가져옴
  5. 최솟값이 score 보다 작은경우 arr에 추가해줌
  6. arr 배열 정렬 후 인덱스 0 출력

0개의 댓글