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

[๋ฐฑ์ค€][Node.js] 2163๋ฒˆ : ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ

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

 

 

Algorithm

-  ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ -

 


 

๋ฌธ์ œ

์ •ํ™”๋Š” N×M ํฌ๊ธฐ์˜ ์ดˆ์ฝœ๋ฆฟ์„ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ดˆ์ฝœ๋ฆฟ์€ ๊ธˆ์ด ๊ฐ€ ์žˆ๋Š” ๋ชจ์–‘์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทธ ๊ธˆ์— ์˜ํ•ด N×M์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ ์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์ดˆ์ฝœ๋ฆฟ์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๊ทธ๋…€๋Š” ์ดˆ์ฝœ๋ฆฟ์„ ์นœ๊ตฌ๋“ค๊ณผ ๋‚˜๋ˆ  ๋จน๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ ์ •ํ™”๋Š” ์ดˆ์ฝœ๋ฆฟ์„ ๊ณ„์† ์ชผ๊ฐœ์„œ ์ด N×M๊ฐœ์˜ ์กฐ๊ฐ์œผ๋กœ ์ชผ๊ฐœ๋ ค๊ณ  ํ•œ๋‹ค.

์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐค ๋•Œ์—๋Š” ์ดˆ์ฝœ๋ฆฟ ์กฐ๊ฐ์„ ํ•˜๋‚˜ ๋“ค๊ณ , ์ ๋‹นํ•œ ์œ„์น˜์—์„œ ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐ ๋‹ค.

์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐค ๋•Œ์—๋Š” ๊ธˆ์ด ๊ฐ€ ์žˆ๋Š” ์œ„์น˜์—์„œ๋งŒ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋‹ค.

์ด์™€ ๊ฐ™์ด ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐœ๋ฉด ์ดˆ์ฝœ๋ฆฟ์€ ๋‘ ๊ฐœ์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ ์ง€๊ฒŒ ๋œ๋‹ค.

์ด์ œ ๋‹ค์‹œ ์ด ์ค‘์—์„œ ์ดˆ์ฝœ๋ฆฟ ์กฐ๊ฐ์„ ํ•˜๋‚˜ ๋“ค๊ณ , ์ชผ๊ฐœ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๋œ๋‹ค.

 

์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐœ๋‹ค๋ณด๋ฉด ์ดˆ์ฝœ๋ฆฟ์ด ๋…น์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ •ํ™”๋Š” ๊ฐ€๊ธ‰์ ์ด๋ฉด ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐœ๋Š” ํšŸ์ˆ˜๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋ ค ํ•œ๋‹ค.

์ดˆ์ฝœ๋ฆฟ์˜ ํฌ๊ธฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ 1×1 ํฌ๊ธฐ์˜ ์ดˆ์ฝœ๋ฆฟ์œผ๋กœ ์ชผ๊ฐœ๊ธฐ ์œ„ํ•œ ์ตœ์†Œ ์ชผ๊ฐœ๊ธฐ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

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

 

๋ฌธ์ œ ํ’€๊ธฐ

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin")
	.toString()
	.trim()
	.split(" ")
	.map((el) => Number(el));
let wantQuan = input[0] * input[1];
let quantity = 1;
let count = 0;

while (true) {
	quantity = quantity + 2 - 1;
	count++;
	if (quantity === wantQuan) break;
}

console.log(count);

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€