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

hhkim·2023년 7월 4일
0

Algorithm - JavaScript

목록 보기
50/188
post-thumbnail

풀이 과정

  1. 점수를 일차만큼 잘라서 내림차순 정렬: slice(), sort()
  2. k번째(인덱스 k - 1) 점수를 결과 배열에 담기
    이때 1 배열의 길이가 k보다 작으면 마지막 요소 담기
  3. 각 점수 요소에 대해 반복하면서 새로운 배열 결과 만들기: reduce()

코드

function solution(k, score) {
  return score.reduce((result, _, i) => {
    const arr = score.slice(0, i + 1).sort((a, b) => b - a);
    const len = arr.length;
    return [...result, len < k ? arr[len - 1] : arr[k - 1]];
  }, []);
}

0개의 댓글