[JS] 프로그래머스 Lv1 - 과일 장수

찐새·2023년 5월 22일
0

코딩테스트

목록 보기
49/53
post-thumbnail

과일 장수

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

코드

function solution(k, m, score) {
    const highScore = [...score].sort((a,b)=>b-a);
    let answer = 0;
    
    for (let i = 0; i < Math.floor(score.length / m); i++) {
        const appleBox = highScore.slice(i*m, (i+1)*m);
        answer += Math.min(...appleBox) * appleBox.length;
    }
    
    return answer;
}

풀이

가장 높은 점수의 사과부터 m개씩 담긴 박스를 만들고, 가장 낮은 점수 * 박스 길이answer에 더했다.

박스의 개수는 score의 길이를 m개로 나눈 몫이므로, 그만큼만 반복문을 돌렸다.
개별 박스는 시작 인덱스 mi배수, 끝 인덱스 mi+1배수로 slice하여 박스에 담지 않은 점수만 사용했다.

profile
프론트엔드 개발자가 되고 싶다

0개의 댓글