๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๋ฐฑ์ค€][Node.js] 1225๋ฒˆ : ์ด์ƒํ•œ ๊ณฑ์…ˆ Algorithm - ์ด์ƒํ•œ ๊ณฑ์…ˆ- ๋ฌธ์ œ A*B๋ฅผ ๊ณ„์‚ฐํ•˜๋‹ค ์ง€๊ฒจ์›Œ์ง„ ํ˜•ํƒ์ด๋Š” A*B๋ฅผ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์œผ๋กœ ์ •์˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. A์—์„œ ํ•œ ์ž๋ฆฌ๋ฅผ ๋ฝ‘๊ณ  * B์—์„œ ์ž„์˜๋กœ ํ•œ ์ž๋ฆฌ๋ฅผ ๋ฝ‘์•„ ๊ณฑํ•œ๋‹ค. ์˜ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ (A๊ฐ€ n์ž๋ฆฌ, B๊ฐ€ m์ž๋ฆฌ ์ˆ˜๋ผ๋ฉด ์ด ๊ฐ€๋Šฅํ•œ ์กฐํ•ฉ์€ n*m๊ฐœ)์„ ๋”ํ•œ ์ˆ˜๋กœ ์ •์˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 121*34๋Š” 1*3 + 1*4 + 2*3 + 2*4 + 1*3 + 1*4 = 28 ์ด ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํ˜•ํƒ์ด์˜ ๊ณฑ์…ˆ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin").toString().split(' ').map(el => el.split('')); let result .. 2021. 6. 13.
[๋ฐฑ์ค€][Node.js] 1212๋ฒˆ : 8์ง„์ˆ˜ 2์ง„์ˆ˜ Algorithm - 8์ง„์ˆ˜ 2์ง„์ˆ˜- ๋ฌธ์ œ 8์ง„์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ฒซ์งธ ์ค„์— 8์ง„์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ˆ˜์˜ ๊ธธ์ด๋Š” 333,334์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง„ ์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค. ์ˆ˜๊ฐ€ 0์ธ ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ฐ˜๋“œ์‹œ 1๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin").toString().trim(); let result = []; for (let i = 0; i < input.length; i++) { let number = Number(input[i]); let changeTwo = number.toString(2); if (i !=.. 2021. 6. 12.
[๋ฐฑ์ค€][Node.js] 1193๋ฒˆ : ๋ถ„์ˆ˜์ฐพ๊ธฐ Algorithm - ๋ถ„์ˆ˜์ฐพ๊ธฐ - ๋ฌธ์ œ ๋ฌดํ•œํžˆ ํฐ ๋ฐฐ์—ด์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„์ˆ˜๋“ค์ด ์ ํ˜€์žˆ๋‹ค. ์ด์™€ ๊ฐ™์ด ๋‚˜์—ด๋œ ๋ถ„์ˆ˜๋“ค์„ 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … ๊ณผ ๊ฐ™์€ ์ง€๊ทธ์žฌ๊ทธ ์ˆœ์„œ๋กœ ์ฐจ๋ก€๋Œ€๋กœ 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ, 4๋ฒˆ, 5๋ฒˆ, … ๋ถ„์ˆ˜๋ผ๊ณ  ํ•˜์ž. X๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, X๋ฒˆ์งธ ๋ถ„์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin").toString().trim(); let number = Number(input); let value = 1; while (true) { number -= value; if (number 2021. 6. 11.
[๋ฐฑ์ค€][Node.js] 1181๋ฒˆ : ๋‹จ์–ด ์ •๋ ฌ Algorithm - ๋‹จ์–ด ์ •๋ ฌ - ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ N๊ฐœ์˜ ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 1. ๊ธธ์ด๊ฐ€ ์งง์€ ๊ฒƒ๋ถ€ํ„ฐ 2. ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๊ฐ™์€ ๋‹จ์–ด๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ์ž…๋ ฅ๋œ ๊ฒฝ์šฐ์—๋Š” ํ•œ ๋ฒˆ์”ฉ๋งŒ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin") .toString() .trim() .split("\n"); input.shift(); let obj = {}; for (let i = 0; i < input.length; i++) { let len = input[i].length; if (obj[len]) { if (obj[len].includes(inp.. 2021. 6. 10.
[๋ฐฑ์ค€][Node.js] 1159๋ฒˆ : ๋†๊ตฌ ๊ฒฝ๊ธฐ Algorithm - ๋†๊ตฌ ๊ฒฝ๊ธฐ - ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ๋†๊ตฌ์˜ ์„ธ๊ณ„์—์„œ ์ ์ฐจ ์˜ํ–ฅ๋ ฅ์„ ๋„“ํ˜€๊ฐ€๊ณ  ์žˆ๋‹ค. ์ฒ˜์Œ์— ๊ทธ๋Š” ๋†๊ตฌ ๊ฒฝ๊ธฐ๋ฅผ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์ด์—ˆ๋‹ค. ๋†๊ตฌ์— ๋Œ€ํ•œ ์—ด์ •์€ ๊ทธ๋ฅผ ๋ง‰์„ ์ˆ˜ ์—†์—ˆ๊ณ , ๊ฒฐ๊ตญ ์ƒ๊ทผ์ด๋Š” ๋†๊ตฌ์žฅ์„ ์ฒญ์†Œํ•˜๋Š” ์ผ์„ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ƒ๊ทผ์ด๋„ ๋†๊ตฌ์žฅ์„ ์ฒญ์†Œํ•˜๋ฉด์„œ ๊ฐ๋…์ด ๋˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ ธ์•ผํ•  ๋Šฅ๋ ฅ์„ ๊ณต๋ถ€ํ•ด๋‚˜๊ฐ”๋‹ค. ์„œ๋‹น๊ฐœ 3๋…„์ด๋ฉด ํ’์›”์„ ์Š๋“ฏ์ด ์ƒ๊ทผ์ด๋Š” ์ ์  ๊ฐ๋…์œผ๋กœ ํ•œ ๊ฑธ์Œ ๋‹ค๊ฐ€๊ฐ€๊ณ  ์žˆ์—ˆ๋‹ค. ์–ด๋Š ๋‚  ๊ทธ์—๊ฒŒ ์ง€๋ฐฉ์˜ ํ•œ ํ”„๋กœ๋†๊ตฌํŒ€์„ ๊ฐ๋…ํ•  ๊ธฐํšŒ๊ฐ€ ์ƒ๊ธฐ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋Š” ์—„์ฒญ๋‚œ ์ง€๋„๋ ฅ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ ํ”„๋กœ๋ฆฌ๊ทธ์—์„œ ์šฐ์Šน์„ ํ–ˆ๊ณ , ์ด์ œ ๊ตญ๊ฐ€๋Œ€ํ‘œํŒ€์˜ ๊ฐ๋…์ด ๋˜์—ˆ๋‹ค. ๋‚ด์ผ์€ ์ผ๋ณธ๊ณผ ๊ตญ๊ฐ€๋Œ€ํ‘œ ์นœ์„  ๊ฒฝ๊ธฐ๊ฐ€ ์žˆ๋Š” ๋‚ ์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ๋‚ด์ผ ๊ฒฝ๊ธฐ์— ๋‚˜์„ค ์„ ๋ฐœ ๋ช…๋‹จ์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๊ตญ๊ฐ€๋Œ€ํ‘œํŒ€์˜ ๊ฐ๋…์ด ๋œ ์ดํ›„์— ์ƒ๊ทผ์ด๋Š” ๋งค์šฐ ๊ฒŒ์„๋Ÿฌ์กŒ๋‹ค.. 2021. 6. 9.
[๋ฐฑ์ค€][Node.js] 1157๋ฒˆ : ๋‹จ์–ด ๊ณต๋ถ€ Algorithm - ๋‹จ์–ด ๊ณต๋ถ€ - ๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ๋Œ€์†Œ๋ฌธ์ž๋กœ ๋œ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋‹จ, ๋Œ€์†Œ๋ฌธ์ž์™€ ์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฒซ์งธ ์ค„์— ์ด ๋‹จ์–ด์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์„ ๋Œ€๋ฌธ์ž๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹จ, ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋œ ์•ŒํŒŒ๋ฒณ์ด ์—ฌ๋Ÿฌ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ?๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin").toString().trim().toLowerCase().split(""); let alpha = input.filter((el, idx) => input.indexOf(el) === idx); let count = new A.. 2021. 6. 6.