반응형

정답
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const [count, ...arr] = input;
sol(Number(count), arr);
function sol(count, arr){
let result = [];
arr = arr.map(i => +i);
arr.sort((a,b) => a-b);
for(let i=0; i < arr.length; i++){
result.push(arr[i] * count);
count--;
}
result.sort((a,b) => b-a);
console.log(result[0]);
}
풀이
문제를 잘 보면 모든 루프를 다 사용할 필요는 없다고 되어있다.
즉 입력이
3
10
20
30
이렇게 들어왔으면
로프가 3개고 10kg 짜리는 최대 30까지 받을 수 있고
10kg 짜리 로프를 사용하지 않을 때에는 20kg 로 40kg까지 받을 수 있고
10kg 30kg 둘다 사용하지 않으면 30kg로 까지 받을 수 있다.
즉 오름차순으로 정렬 해놓고 제일 작은 kg의 로프를 빼면서 카운트도 마이너스 하면서 곱해서
가장 큰 값을 구하면 된다.
반응형
'Develop > 백준 코딩테스트' 카테고리의 다른 글
백준 코딩테스트 13305 자바스크립트 node.js (0) | 2022.07.05 |
---|---|
백준 코딩테스트 10162 전자레인지 자바스크립트 node.js (0) | 2022.07.04 |
백준 코딩테스트 5585 거스름돈 자바스크립트 node.js (0) | 2022.07.04 |
백준 코딩테스트 1541 잃어버린 괄호 자바스크립트 node.js (0) | 2022.07.04 |
백준 코딩테스트 1026 보물 자바스크립트 node.js (0) | 2022.07.01 |