๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๋ฐฑ์ค€][Node.js] 2163๋ฒˆ : ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ Algorithm - ์ดˆ์ฝœ๋ฆฟ ์ž๋ฅด๊ธฐ - ๋ฌธ์ œ ์ •ํ™”๋Š” N×M ํฌ๊ธฐ์˜ ์ดˆ์ฝœ๋ฆฟ์„ ํ•˜๋‚˜ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์€ ๊ธˆ์ด ๊ฐ€ ์žˆ๋Š” ๋ชจ์–‘์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ทธ ๊ธˆ์— ์˜ํ•ด N×M์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์˜ ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ๊ทธ๋…€๋Š” ์ดˆ์ฝœ๋ฆฟ์„ ์นœ๊ตฌ๋“ค๊ณผ ๋‚˜๋ˆ  ๋จน๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ์ •ํ™”๋Š” ์ดˆ์ฝœ๋ฆฟ์„ ๊ณ„์† ์ชผ๊ฐœ์„œ ์ด N×M๊ฐœ์˜ ์กฐ๊ฐ์œผ๋กœ ์ชผ๊ฐœ๋ ค๊ณ  ํ•œ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐค ๋•Œ์—๋Š” ์ดˆ์ฝœ๋ฆฟ ์กฐ๊ฐ์„ ํ•˜๋‚˜ ๋“ค๊ณ , ์ ๋‹นํ•œ ์œ„์น˜์—์„œ ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐ ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐค ๋•Œ์—๋Š” ๊ธˆ์ด ๊ฐ€ ์žˆ๋Š” ์œ„์น˜์—์„œ๋งŒ ์ชผ๊ฐค ์ˆ˜ ์žˆ๋‹ค. ์ด์™€ ๊ฐ™์ด ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐœ๋ฉด ์ดˆ์ฝœ๋ฆฟ์€ ๋‘ ๊ฐœ์˜ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ ์ง€๊ฒŒ ๋œ๋‹ค. ์ด์ œ ๋‹ค์‹œ ์ด ์ค‘์—์„œ ์ดˆ์ฝœ๋ฆฟ ์กฐ๊ฐ์„ ํ•˜๋‚˜ ๋“ค๊ณ , ์ชผ๊ฐœ๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๋œ๋‹ค. ์ดˆ์ฝœ๋ฆฟ์„ ์ชผ๊ฐœ๋‹ค๋ณด๋ฉด ์ดˆ์ฝœ๋ฆฟ์ด ๋…น์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ •ํ™”๋Š” ๊ฐ€๊ธ‰์ ์ด๋ฉด.. 2021. 7. 28.
[๋ฐฑ์ค€][Node.js] 2108๋ฒˆ : ํ†ต๊ณ„ํ•™ Algorithm - ํ†ต๊ณ„ํ•™ - ๋ฌธ์ œ ์ˆ˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ†ต๊ณ„ํ•™์—์„œ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ์ผ์ด๋‹ค. ํ†ต๊ณ„ํ•™์—์„œ N๊ฐœ์˜ ์ˆ˜๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ธฐ๋ณธ ํ†ต๊ณ„๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ๋‹ค. ๋‹จ, N์€ ํ™€์ˆ˜๋ผ๊ณ  ๊ฐ€์ •ํ•˜์ž. 1. ์‚ฐ์ˆ ํ‰๊ท  : N๊ฐœ์˜ ์ˆ˜๋“ค์˜ ํ•ฉ์„ N์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’ 2. ์ค‘์•™๊ฐ’ : N๊ฐœ์˜ ์ˆ˜๋“ค์„ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์†Œ๋กœ ๋‚˜์—ดํ–ˆ์„ ๊ฒฝ์šฐ ๊ทธ ์ค‘์•™์— ์œ„์น˜ํ•˜๋Š” ๊ฐ’ 3. ์ตœ๋นˆ๊ฐ’ : N๊ฐœ์˜ ์ˆ˜๋“ค ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ’ 4. ๋ฒ”์œ„ : N๊ฐœ์˜ ์ˆ˜๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์˜ ์ฐพ์ด N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋„ค ๊ฐ€์ง€ ๊ธฐ๋ณธ ํ†ต๊ณ„๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().spli.. 2021. 7. 26.
[๋ฐฑ์ค€][Node.js] 2010๋ฒˆ : ํ”Œ๋Ÿฌ๊ทธ Algorithm - ํ”Œ๋Ÿฌ๊ทธ - ๋ฌธ์ œ ์„ ์˜์ด์˜ ์ง‘์—๋Š” ์ฝ˜์„ผํŠธ๋ฅผ ๊ฝ‚์„ ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ๊ฐ€ ํ•˜๋‚˜๋ฐ–์— ์—†๋‹ค. ์„ ์˜์ด๋Š” ๋งŽ์€ ์ปดํ“จํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ปดํ“จํ„ฐ์˜ ์ „์› ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ํ•˜๋‚˜์˜ ํ”Œ๋Ÿฌ๊ทธ๊ฐ€ ์žˆ๊ณ , N๊ฐœ์˜ ๋ฉ€ํ‹ฐํƒญ์ด ์žˆ๋‹ค. ๊ฐ ๋ฉ€ํ‹ฐํƒญ์€ ๋ช‡ ๊ฐœ์˜ ํ”Œ๋Ÿฌ๊ทธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ตœ๋Œ€ ๋ช‡ ๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ์ „์›์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ? ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on("line", function (line) { input.push(line.toStri.. 2021. 7. 25.
[๋ฐฑ์ค€][Node.js] 1978๋ฒˆ : ์†Œ์ˆ˜ ์ฐพ๊ธฐ Algorithm - ์†Œ์ˆ˜ ์ฐพ๊ธฐ - ๋ฌธ์ œ ์ฃผ์–ด์ง„ ์ˆ˜ N๊ฐœ ์ค‘์—์„œ ์†Œ์ˆ˜๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ์ฐพ์•„์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on("line", function (line) { input.push( line .toString() .split(" ") .map((el) => +el) ); }).on("close", function () { input.shift(); input = input[0]; let count = 0; for .. 2021. 7. 24.
[๋ฐฑ์ค€][Node.js] 1977๋ฒˆ : ์™„์ „์ œ๊ณฑ์ˆ˜ 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 >.. 2021. 7. 23.
[๋ฐฑ์ค€][Node.js] 1966๋ฒˆ : ํ”„๋ฆฐํ„ฐ ํ Algorithm - ํ”„๋ฆฐํ„ฐ ํ - ๋ฌธ์ œ ์—ฌ๋Ÿฌ๋ถ„๋„ ์•Œ๋‹ค์‹œํ”ผ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋ฆฐํ„ฐ ๊ธฐ๊ธฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์ธ์‡„ํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ธ์‡„ ๋ช…๋ น์„ ๋ฐ›์€ '์ˆœ์„œ๋Œ€๋กœ', ์ฆ‰ ๋จผ์ € ์š”์ฒญ๋œ ๊ฒƒ์„ ๋จผ์ € ์ธ์‡„ํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์„œ๊ฐ€ ์Œ“์ธ๋‹ค๋ฉด Queue ์ž๋ฃŒ๊ตฌ์กฐ์— ์Œ“์—ฌ์„œ FIFO - First In First Out ์— ๋”ฐ๋ผ ์ธ์‡„๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๊ทผ์ด๋Š” ์ƒˆ๋กœ์šด ํ”„๋ฆฐํ„ฐ๊ธฐ ๋‚ด๋ถ€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜์˜€๋Š”๋ฐ, ์ด ํ”„๋ฆฐํ„ฐ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ธ์‡„๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค. 1. ํ˜„์žฌ Queue์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฌธ์„œ์˜ '์ค‘์š”๋„'๋ฅผ ํ™•์ธํ•œ๋‹ค. 2. ๋‚˜๋จธ์ง€ ๋ฌธ์„œ๋“ค ์ค‘ ํ˜„์žฌ ๋ฌธ์„œ๋ณด๋‹ค ์ค‘์š”๋„๊ฐ€ ๋†’์€ ๋ฌธ์„œ๊ฐ€ ํ•˜๋‚˜๋ผ๋„ ์žˆ๋‹ค๋ฉด, ์ด ๋ฌธ์„œ๋ฅผ ์ธ์‡„ํ•˜์ง€ ์•Š๊ณ  Queue์˜ ๊ฐ€์žฅ ๋’ค์— ์žฌ๋ฐฐ์น˜ ํ•œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ฐ”๋กœ ์ธ์‡„๋ฅผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Queue์— 4๊ฐœ์˜ .. 2021. 7. 21.