Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] 구름톤 챌린지 3주차 코딩테스트 : 과일 구매 (못 품) 본문

⚙️ 코딩테스트

[JavaScript] 구름톤 챌린지 3주차 코딩테스트 : 과일 구매 (못 품)

썸머몽 2023. 9. 7. 14:07
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