Link
문제
풀이
(1)
function solution(d, budget) {
let answer = 0;
d.sort((a, b) => a - b);
for (let i = 0; i < d.length; i++) {
if (budget >= d[i]) {
budget -= d[i];
answer += 1;
}
}
return answer;
}
(2)
function solution(d, budget) {
return d.sort((a, b) => a - b).reduce((acc, val) => (budget -= val) >= 0 ? ++acc : acc, 0);
}
주의점
numbers.sort((a, b) => a - b)
numbers.sort()
두 동작은 다를 수 있다. `numbers.sort()`는 문자열로 변환한 후 사전식(lexicographical)으로 정렬하게 된다. 그래서 `10`이 `2`보다 앞에 온다.
const numbers = [4, 2, 10, 1, 5];
numbers.sort();
console.log(numbers);
// 결과: [1, 10, 2, 4, 5] (사전식 정렬)
'알고리즘 > 문제' 카테고리의 다른 글
[프로그래머스 | Lv. 1 | JavaScript] 최소직사각형 (0) | 2025.01.08 |
---|---|
[프로그래머스 | Lv. 1 | JavaScript] 3진법 뒤집기 (0) | 2025.01.01 |
[프로그래머스 | Lv. 1 | JavaScript] 이상한 문자 만들기 (0) | 2024.12.31 |
[프로그래머스 | Lv. 1 | JavaScript] (1) | 2024.12.31 |
[프로그래머스 | Lv. 1 | JavaScript] (0) | 2024.12.30 |
※ 쿠팡 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있습니다.