๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๋ฐฑ์ค€][Node.js] 5032๋ฒˆ : ํƒ„์‚ฐ ์Œ๋ฃŒ Algorithm - ํƒ„์‚ฐ ์Œ๋ฃŒ - ๋ฌธ์ œ ์ค€๋ฏผ์ด๋Š” ํƒ„์‚ฐ ์Œ๋ฃŒ๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ํƒ„์‚ฐ์Œ๋ฃŒ๋ฅผ ์‚ฌ๋Š๋ผ ๋ˆ์„ ๋‹ค ์จ๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์—, ์ด์ œ ์ค€๋ฏผ์ด๋Š” ๊ฐ€์ง„ ๋ˆ์ด ์—†์–ด ํƒ„์‚ฐ ์Œ๋ฃŒ๋ฅผ ์‚ฌ๋จน์„ ์ˆ˜ ์—†๋‹ค. ์ค€๋ฏผ์ด๋Š” ํ•ญ์ƒ ๋ฒ•์„ ์ง€ํ‚ค๋ฉฐ ์‚ฌ๋Š” ์‚ฌ๋žŒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์•„๋ฌด๋ฆฌ ํƒ„์‚ฐ ์Œ๋ฃŒ๊ฐ€ ๋จน๊ณ  ์‹ถ์–ด๋„ ํ›”์น˜์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, ๋ฒ•์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํƒ„์‚ฐ ์Œ๋ฃŒ๋ฅผ ๊ตฌ๋งคํ•  ๊ฒƒ์ด๋‹ค. ๋งˆ์นจ ๋นˆ ๋ณ‘์„ ํŠน์ • ๊ฐœ์ˆ˜๋งŒํผ ๊ฐ€์ ธ๊ฐ€๋ฉด, ์ƒˆ ๋ณ‘์œผ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๋Š” ์ด๋ฒคํŠธ๊ฐ€ ์ง„ํ–‰์ค‘์ด๋‹ค. ์ค€๋ฏผ์ด๋Š” ๊ธธ์—์„œ ๋นˆ ๋ณ‘์„ ์—ด์‹ฌํžˆ ์ฐพ์€ ๋’ค, ํƒ„์‚ฐ ์Œ๋ฃŒ๋ฅผ ๋จน์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ค€๋ฏผ์ด๊ฐ€ ํ˜„์žฌ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋นˆ ๋ณ‘์˜ ์ˆ˜์™€ ๊ธธ์—์„œ ๋ฐœ๊ฒฌํ•œ ๋นˆ ๋ณ‘์˜ ์ˆ˜, ์ƒˆ ๋ณ‘์œผ๋กœ ๋ฐ”๊พธ๋Š”๋ฐ ํ•„์š”ํ•œ ๋นˆ ๋ณ‘์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ค€๋ฏผ์ด๊ฐ€ ํƒ„์‚ฐ ์Œ๋ฃŒ๋ฅผ ๋ช‡ ๊ฐœ ๋จน์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ .. 2021. 10. 31.
[๋ฐฑ์ค€][Node.js] 4999๋ฒˆ : ์•„! Algorithm - ์•„! - ๋ฌธ์ œ ์žฌํ™˜์ด๋Š” ์ €์Šคํ‹ด ๋น„๋ฒ„ ์ฝ˜์„œํŠธ์—์„œ ์†Œ๋ฆฌ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ์งˆ๋Ÿฌ์„œ ์ธํ›„์—ผ์— ๊ฑธ๋ ธ๋‹ค. ์˜์‚ฌ๋Š” ์žฌํ™˜์ด์—๊ฒŒ "aaah"๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ์‹œ์ผฐ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ์žฌํ™˜์ด๋Š” ์˜์‚ฌ๊ฐ€ ์›ํ•˜๋Š”๋งŒํผ ์†Œ๋ฆฌ๋ฅผ ๊ธธ๊ฒŒ ๋‚ผ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์—ˆ๋‹ค. ๊ฐ๊ฐ์˜ ์˜์‚ฌ๋Š” ์žฌํ™˜์ด์—๊ฒŒ ํŠน์ •ํ•œ ๊ธธ์ด์˜ "aah"๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ์š”์ฒญํ•œ๋‹ค. ์–ด๋–ค ์˜์‚ฌ๋Š” "aaaaaah"๋ฅผ ์š”๊ตฌํ•˜๊ธฐ๋„ ํ•˜๊ณ , "h"๋งŒ ์š”๊ตฌํ•˜๋Š” ์˜์‚ฌ๋„ ์žˆ๋‹ค. ๋ชจ๋“  ์˜์‚ฌ๋Š” ์ž์‹ ์ด ์›ํ•˜๋Š” ๊ธธ์ด์˜ "aah"๋ฅผ ๋“ฃ์ง€ ๋ชปํ•˜๋ฉด ์ง„๋‹จ์„ ๋‚ด๋ฆด ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ, ์žฌํ™˜์ด๋Š” ์ง‘์—์„œ ์ž์‹ ์ด ์–ผ๋งˆ๋‚˜ ๊ธธ๊ฒŒ "aah"๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋Š”์ง€ ์•Œ์•„๋ƒˆ๊ณ , ์ž๊ธฐ๊ฐ€ ์†Œ๋ฆฌ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ธธ์ด์˜ "aah"๋ฅผ ์š”๊ตฌํ•˜๋Š” ์˜์‚ฌ๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์žฌํ™˜์ด๊ฐ€ ๋‚ผ ์ˆ˜ ์žˆ๋Š” "aah"์˜ ๊ธธ์ด์™€ ์˜์‚ฌ๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค... 2021. 10. 29.
[๋ฐฑ์ค€][Node.js] 4949๋ฒˆ : ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ Algorithm - ๊ท ํ˜•์žกํžŒ ์„ธ์ƒ - ๋ฌธ์ œ ์„ธ๊ณ„๋Š” ๊ท ํ˜•์ด ์ž˜ ์žกํ˜€์žˆ์–ด์•ผ ํ•œ๋‹ค. ์–‘๊ณผ ์Œ, ๋น›๊ณผ ์–ด๋‘  ๊ทธ๋ฆฌ๊ณ  ์™ผ์ชฝ ๊ด„ํ˜ธ์™€ ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ์ฒ˜๋Ÿผ ๋ง์ด๋‹ค. ์ •๋ฏผ์ด์˜ ์ž„๋ฌด๋Š” ์–ด๋–ค ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ด„ํ˜ธ๋“ค์˜ ๊ท ํ˜•์ด ์ž˜ ๋งž์ถฐ์ ธ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ž์—ด์— ํฌํ•จ๋˜๋Š” ๊ด„ํ˜ธ๋Š” ์†Œ๊ด„ํ˜ธ("()") ์™€ ๋Œ€๊ด„ํ˜ธ("[]")๋กœ 2์ข…๋ฅ˜์ด๊ณ , ๋ฌธ์ž์—ด์ด ๊ท ํ˜•์„ ์ด๋ฃจ๋Š” ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๋ชจ๋“  ์™ผ์ชฝ ์†Œ๊ด„ํ˜ธ("(")๋Š” ์˜ค๋ฅธ์ชฝ ์†Œ๊ด„ํ˜ธ(")")์™€๋งŒ ์ง์„ ์ด๋ค„์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ์™ผ์ชฝ ๋Œ€๊ด„ํ˜ธ("[")๋Š” ์˜ค๋ฅธ์ชฝ ๋Œ€๊ด„ํ˜ธ("]")์™€๋งŒ ์ง์„ ์ด๋ค„์•ผ ํ•œ๋‹ค. ๋ชจ๋“  ์˜ค๋ฅธ์ชฝ ๊ด„ํ˜ธ๋“ค์€ ์ž์‹ ๊ณผ ์ง์„ ์ด๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์™ผ์ชฝ ๊ด„ํ˜ธ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋ชจ๋“  ๊ด„ํ˜ธ๋“ค์˜ ์ง์€ 1:1 ๋งค์นญ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฆ‰, ๊ด„ํ˜ธ ํ•˜๋‚˜๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ๊ด„ํ˜ธ์™€ ์ง์ง€์–ด์ง€์ง€ ์•Š๋Š”๋‹ค. ์ง์„ ์ด.. 2021. 10. 28.
[๋ฐฑ์ค€][Node.js] 4673๋ฒˆ : ์…€ํ”„ ๋„˜๋ฒ„ Algorithm - ์…€ํ”„ ๋„˜๋ฒ„ - ๋ฌธ์ œ ์…€ํ”„ ๋„˜๋ฒ„๋Š” 1949๋…„ ์ธ๋„ ์ˆ˜ํ•™์ž D.R. Kaprekar๊ฐ€ ์ด๋ฆ„ ๋ถ™์˜€๋‹ค. ์–‘์˜ ์ •์ˆ˜ n์— ๋Œ€ํ•ด์„œ d(n)์„ n๊ณผ n์˜ ๊ฐ ์ž๋ฆฌ์ˆ˜๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜๋ผ๊ณ  ์ •์˜ํ•˜์ž. ์˜ˆ๋ฅผ ๋“ค์–ด, d(75) = 75+7+5 = 87์ด๋‹ค. ์–‘์˜ ์ •์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ˆ˜๋ฅผ ์‹œ์ž‘ํ•ด์„œ n, d(n), d(d(n)), d(d(d(n))), ...๊ณผ ๊ฐ™์€ ๋ฌดํ•œ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 33์œผ๋กœ ์‹œ์ž‘ํ•œ๋‹ค๋ฉด ๋‹ค์Œ ์ˆ˜๋Š” 33 + 3 + 3 = 39์ด๊ณ , ๊ทธ ๋‹ค์Œ ์ˆ˜๋Š” 39 + 3 + 9 = 51, ๋‹ค์Œ ์ˆ˜๋Š” 51 + 5 + 1 = 57์ด๋‹ค. ์ด๋Ÿฐ์‹์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 14.. 2021. 10. 27.
[๋ฐฑ์ค€][Node.js] 4504๋ฒˆ : ๋ฐฐ์ˆ˜ ์ฐพ๊ธฐ Algorithm - ๋ฐฐ์ˆ˜ ์ฐพ๊ธฐ - ๋ฌธ์ œ ์ •์ˆ˜ n(0 Number(el)); let number = i.. 2021. 10. 26.
[๋ฐฑ์ค€][Node.js] 4458๋ฒˆ : ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ Algorithm - ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ - ๋ฌธ์ œ ๋ฌธ์žฅ์„ ์ฝ์€ ๋’ค, ์ค„์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin") .toString() .split("\n"); for (let i = 1; i 2021. 10. 25.