[프로그래머스/Lv1/자바스크립트] 과일 장수
2023. 6. 13. 12:05
문제
https://school.programmers.co.kr/learn/courses/30/lessons/135808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
function solution(k, m, score) {
var sortedScore = score.sort((a, b) => a- b);
var answer = 0;
while(sortedScore.length >= m) {
var appleBox = sortedScore.splice(-m);
answer += appleBox[0] * m;
}
return answer;
}
메모
입력받은 score 배열을 우선 오름차순으로 정렬한다.
오름차순으로 정렬한 배열을 뒤에서 m만큼 splice한다(사과박스).
이 splice한 배열의 0번째 인덱스는 사과박스에서 가장 점수가 낮은 사과일 것이다.
appleBox[0] 값과 m을 곱한 값을 answer에 더해준다.
이것을 sortedScore 배열의 길이가 m보다 작아질때 까지 반복한다.
문제에서는 가장 높은 사과점수 k를 제공했는데, 나는 이 문제를 풀면서 k의 필요성을 느끼지 못했다.
만약 사용한다면 score 배열에서 등장하는 1부터 k의 개수를 세서 문제를 풀 수 있을 것 같다.
'코딩테스트 > 연습문제' 카테고리의 다른 글
[프로그래머스/LV1/자바스크립트] 모의고사 (0) | 2023.06.14 |
---|---|
[프로그래머스/Lv1/자바스크립트] 명예의 전당 (1) (0) | 2023.06.12 |
[프로그래머스/Lv1/자바스크립트] 폰켓몬 (0) | 2023.06.09 |
[프로그래머스/Lv1/자바스크립트] 2016년 (0) | 2023.06.08 |
[프로그래머스/Lv1/자바스크립트] 추억 점수 (0) | 2023.06.07 |