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

[๋ฐฑ์ค€][Node.js] 1977๋ฒˆ : ์™„์ „์ œ๊ณฑ์ˆ˜

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 7. 23.

 

 

Algorithm

-  ์™„์ „์ œ๊ณฑ์ˆ˜ -

 


 

๋ฌธ์ œ

M๊ณผ N์ด ์ฃผ์–ด์งˆ ๋•Œ M์ด์ƒ N์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ค‘ ์™„์ „์ œ๊ณฑ์ˆ˜์ธ ๊ฒƒ์„ ๋ชจ๋‘ ๊ณจ๋ผ ๊ทธ ํ•ฉ์„ ๊ตฌํ•˜๊ณ  ๊ทธ ์ค‘ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์˜ˆ๋ฅผ ๋“ค์–ด M=60, N=100์ธ ๊ฒฝ์šฐ 60์ด์ƒ 100์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ค‘ ์™„์ „ ์ œ๊ณฑ์ˆ˜๋Š” 64, 81, 100 ์ด๋ ‡๊ฒŒ ์ด 3๊ฐœ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๊ทธ ํ•ฉ์€ 245๊ฐ€ ๋˜๊ณ  ์ด ์ค‘ ์ตœ์†Ÿ๊ฐ’์€ 64๊ฐ€ ๋œ๋‹ค.

 

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

 

๋ฌธ์ œ ํ’€๊ธฐ

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin")
	.toString()
	.trim()
	.split("\n")
	.map((el) => Number(el));
let i = 1;
let result = [];

while (true) {
	if (i ** 2 >= input[0] && i ** 2 <= input[1]) {
		result.push(i ** 2);
	} else if (i ** 2 > input[1]) {
		break;
	}
	i++;
}

result.sort((a, b) => a - b);

if (result.length === 0) {
	console.log("-1");
} else {
	console.log(result.reduce((past, curr) => past + curr, 0));
	console.log(result[0]);
}

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€