728x90
📌 문제
📌 입력
📌 출력 및 예제
📌 풀이
알아야 하는 것
- Math.floor
- Math.min
구할 것
- 칼로리/가격, 가격이 담긴 cost를 순회하면서 계속 빼준다.
const readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
let num, money;
let price = [];
let cal = [];
let answer = 0;
rl.on('line', (line) => {
input.push(line.trim());
});
rl.on('close', () => {
[num, money] = input.shift().split(' ').map(Number);
for (let i = 0; i < num; i++) {
[price[i], cal[i]] = input[i].split(' ').map(Number)
}
let cost = [];
for (let i = 0; i < num; i++) {
cost.push([cal[i] / price[i], price[i]])
}
cost.sort((a, b) => b[0]-a[0]);
for (let i = 0; i < num; i++) {
const [value, amount] = cost[i];
const get = Math.min(amount, money);
money -= get;
answer += value * get
}
console.log(Math.floor(answer))
})
728x90
'⚙️ 코딩테스트' 카테고리의 다른 글
[JavaScript] 구름톤 챌린지 4주차 코딩테스트 : 통신망 분석 (다시 풀어야 함) (0) | 2023.09.10 |
---|---|
[JavaScript] 구름톤 챌린지 4주차 코딩테스트 : 연합 (다시 풀어야 함) (0) | 2023.09.10 |
[JavaScript] 구름톤 챌린지 3주차 코딩테스트 : 작은 노드 (0) | 2023.09.01 |
[JavaScript] 구름톤 챌린지 3주차 코딩테스트 : 발전기 (2) (0) | 2023.09.01 |
[JavaScript] 구름톤 챌린지 3주차 코딩테스트 : 발전기 (0) | 2023.09.01 |