๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[๋ฐฑ์ค€][Node.js] 10610๋ฒˆ : 30

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2022. 1. 24.

 

 

Algorithm

-  30 -

 


 

๋ฌธ์ œ

์–ด๋Š ๋‚ , ๋ฏธ๋ฅด์ฝ”๋Š” ์šฐ์—ฐํžˆ ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์–‘์ˆ˜ N์„ ๋ณด์•˜๋‹ค. ๋ฏธ๋ฅด์ฝ”๋Š” 30์ด๋ž€ ์ˆ˜๋ฅผ ์กด๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋Š” ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์ฐพ์€ ์ˆ˜์— ํฌํ•จ๋œ ์ˆซ์ž๋“ค์„ ์„ž์–ด 30์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•œ๋‹ค.

 

๋ฏธ๋ฅด์ฝ”๋ฅผ ๋„์™€ ๊ทธ๊ฐ€ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•˜๋Š” ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ.

 

์ž…์ถœ๋ ฅ ์˜ˆ์‹œ

 

๋ฌธ์ œ ํ’€๊ธฐ

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin")
	.toString()
	.trim()
	.split("")
	.map((el) => Number(el));

// STEP01. ์ผ์˜ ์ž๋ฆฌ๊ฐ€ 0์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด 30์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค
if (!input.includes(0)) {
	console.log(-1);
	return;
} else {
	let sum = input.reduce((past, curr) => past + curr, 0);
	// STEP02. ๊ฐ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋ชจ๋‘ ๋”ํ•˜๊ณ  3์œผ๋กœ ๋‚˜๋ˆŒ๋•Œ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š์œผ๋ฉด 3์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค
	if (sum % 3 !== 0) {
		console.log(-1);
		return;
	}
	// STEP03. ๊ฐ€์žฅ ํฐ 30์˜ ๋ฐฐ์ˆ˜ ๋งŒ๋“ค๊ธฐ
	input.sort((a, b) => b - a);
	console.log(input.join(""));
	return;
}

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€