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

[λ°±μ€€][Node.js] 1476번 : λ‚ μ§œ 계산

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 7. 4.

 

 

Algorithm

-  λ‚ μ§œ 계산 -

 


 

문제

μ€€κ·œκ°€ μ‚¬λŠ” λ‚˜λΌλŠ” μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” 연도와 λ‹€λ₯Έ 방식을 μ΄μš©ν•œλ‹€. μ€€κ·œκ°€ μ‚¬λŠ” λ‚˜λΌμ—μ„œλŠ” 수 3개λ₯Ό μ΄μš©ν•΄μ„œ 연도λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. 각각의 μˆ˜λŠ” 지ꡬ, νƒœμ–‘, 그리고 달을 λ‚˜νƒ€λ‚Έλ‹€.

 

지ꡬλ₯Ό λ‚˜νƒ€λ‚΄λŠ” 수λ₯Ό E, νƒœμ–‘μ„ λ‚˜νƒ€λ‚΄λŠ” 수λ₯Ό S, 달을 λ‚˜νƒ€λ‚΄λŠ” 수λ₯Ό M이라고 ν–ˆμ„ λ•Œ, 이 μ„Έ μˆ˜λŠ” μ„œλ‘œ λ‹€λ₯Έ λ²”μœ„λ₯Ό 가진닀. (1≤E≤15, 1≤S≤28, 1≤M≤19)

 

μš°λ¦¬κ°€ μ•Œκ³ μžˆλŠ” 1년은 μ€€κ·œκ°€ μ‚΄κ³ μžˆλŠ” λ‚˜λΌμ—μ„œλŠ” 1 1 1둜 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. 1년이 지날 λ•Œλ§ˆλ‹€, μ„Έ μˆ˜λŠ” λͺ¨λ‘ 1μ”© μ¦κ°€ν•œλ‹€. λ§Œμ•½, μ–΄λ–€ μˆ˜κ°€ λ²”μœ„λ₯Ό λ„˜μ–΄κ°€λŠ” κ²½μš°μ—λŠ” 1이 λœλ‹€.

 

예λ₯Ό λ“€μ–΄, 15년은 15 15 15둜 λ‚˜νƒ€λ‚Ό 수 μžˆλ‹€. ν•˜μ§€λ§Œ, 1년이 μ§€λ‚˜μ„œ 16년이 되면 16 16 16이 μ•„λ‹ˆλΌ 1 16 16이 λœλ‹€. μ΄μœ λŠ” 1≤E≤15λΌμ„œ λ²”μœ„λ₯Ό λ„˜μ–΄κ°€κΈ° λ•Œλ¬Έμ΄λ‹€.

 

E, S, M이 μ£Όμ–΄μ‘Œκ³ , 1년이 μ€€κ·œκ°€ μ‚¬λŠ” λ‚˜λΌμ—μ„œ 1 1 1μΌλ•Œ, μ€€κ·œκ°€ μ‚¬λŠ” λ‚˜λΌμ—μ„œ E S M이 μš°λ¦¬κ°€ μ•Œκ³  μžˆλŠ” μ—°λ„λ‘œ λͺ‡ 년인지 κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

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

 

문제 ν’€κΈ°

const readline = require("readline");
const rl = readline.createInterface({
	input: process.stdin,
	output: process.stdout,
});
let input;
rl.on("line", function (line) {
	input = line
		.toString()
		.trim()
		.split(" ")
		.map((el) => Number(el));
}).on("close", function () {
	let result = solution(input[0], input[1], input[2]);
	console.log(result);
	process.exit();
});

let solution = function (e, s, m) {
	let year = 0;
	while (true) {
		if (year % 15 === e - 1 && year % 28 === s - 1 && year % 19 === m - 1) break;
		year++;
	}
    year++;
	return year;
};

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€