κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 1267번 : ν•Έλ“œν° μš”κΈˆ

πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 6. 16. 22:14

 

 

 

Algorithm

-  ν•Έλ“œν° μš”κΈˆ -

 


 

문제

λ™ν˜ΈλŠ” μƒˆμ•…λŒ€λ‘œ T ν†΅μ‹ μ‚¬μ˜ μƒˆ ν•Έλ“œν° μ˜΄λ¨Έλ‚˜λ₯Ό 샀닀. μƒˆμ•…λŒ€λ‘œ T ν†΅μ‹ μ‚¬λŠ” λ™ν˜Έμ—κ²Œ λ‹€μŒ 두 κ°€μ§€ μš”κΈˆμ œ 쀑 ν•˜λ‚˜λ₯Ό μ„ νƒν•˜λΌκ³  ν–ˆλ‹€.

1. μ˜μ‹ μš”κΈˆμ œ

2. 민식 μš”κΈˆμ œ

 

μ˜μ‹ μš”κΈˆμ œλŠ” 30μ΄ˆλ§ˆλ‹€ 10원씩 μ²­κ΅¬λœλ‹€. 이 말은 λ§Œμ•½ 29초 λ˜λŠ” κ·Έ 보닀 적은 μ‹œκ°„ 톡화λ₯Ό ν–ˆμœΌλ©΄ 10원이 μ²­κ΅¬λœλ‹€. λ§Œμ•½ 30μ΄ˆλΆ€ν„° 59초 μ‚¬μ΄λ‘œ 톡화λ₯Ό ν–ˆμœΌλ©΄ 20원이 μ²­κ΅¬λœλ‹€.

 

민식 μš”κΈˆμ œλŠ” 60μ΄ˆλ§ˆλ‹€ 15원씩 μ²­κ΅¬λœλ‹€. 이 말은 λ§Œμ•½ 59초 λ˜λŠ” κ·Έ 보닀 적은 μ‹œκ°„ 톡화λ₯Ό ν–ˆμœΌλ©΄ 15원이 μ²­κ΅¬λœλ‹€. λ§Œμ•½ 60μ΄ˆλΆ€ν„° 119초 μ‚¬μ΄λ‘œ 톡화λ₯Ό ν–ˆμœΌλ©΄ 30원이 μ²­κ΅¬λœλ‹€.

 

λ™ν˜Έκ°€ μ €λ²ˆ 달에 μƒˆμ•…λŒ€λ‘œ T 톡신사λ₯Ό μ΄μš©ν•  λ•Œ 톡화 μ‹œκ°„ λͺ©λ‘μ΄ μ£Όμ–΄μ§€λ©΄ μ–΄λŠ μš”κΈˆμ œλ₯Ό μ‚¬μš© ν•˜λŠ” 것이 μ €λ ΄ν•œμ§€ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

첫째 쀄에 μ‹Ό μš”κΈˆμ œμ˜ 이름을 좜λ ₯ν•œλ‹€. κ·Έ 후에 곡백을 사이에 두고 μš”κΈˆμ΄ λͺ‡ 원 λ‚˜μ˜€λŠ”μ§€ 좜λ ₯ν•œλ‹€. λ§Œμ•½ 두 μš”κΈˆμ œμ˜ μš”κΈˆμ΄ λͺ¨λ‘ κ°™μœΌλ©΄ μ˜μ‹μ„ λ¨Όμ € μ“°κ³  민식을 κ·Έ λ‹€μŒμ— μ“΄λ‹€.

 

μ˜μ‹μ€ Y둜, 민식은 M으둜 좜λ ₯ν•œλ‹€.

 

 

문제 ν’€κΈ°

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split("\n");
let call = input[1].split(" ").map((el) => Number(el));
let m = 0;
let y = 0;

for (let i = 0; i < call.length; i++) {
	y += call[i] % 30 === 0 ? (call[i] / 30 + 1) * 10 : Math.ceil(call[i] / 30) * 10;
	m += call[i] % 60 === 0 ? (call[i] / 60 + 1) * 15 : Math.ceil(call[i] / 60) * 15;
}

if (m === y) console.log("Y M " + m);
else if (m > y) console.log("Y " + y);
else console.log("M " + m);

 

 

 

λ°˜μ‘ν˜•