๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๋ฐฑ์ค€][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.
[๊ธฐ์ˆ ๋ฉด์ ‘][๊ฐœ๋ฐœ์ƒ์‹] ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ๊ธฐ์ˆ ๋ฉด์ ‘ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? โš ๏ธ ๊ฐœ์ธ ํ•™์Šต์„ ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑ๋œ ๊ธ€๋กœ ์ •ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค โš ๏ธ ์ด์ „์— ๋ธ”๋กœ๊ทธ์— ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์— ๋Œ€ํ•ด์„œ ๋‚˜๋ฆ„ ์ ์–ด๋ณด์•˜์ง€๋งŒ ๋ฉด์ ‘์—์„œ ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ธฐ์—” ์ง€์‹์ด ๋ถ€์กฑํ•œ ๊ฒƒ ๊ฐ™์•„ ๋ณต์Šต ์ฐจ์›์œผ๋กœ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ž‘์„ฑํ•ด ๋ณผ๊นŒ ํ•œ๋‹ค. ๋‹จ์ˆœํžˆ ์ดํ•ด๋ฅผ ๋ชฉ์ ์œผ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด๊ธฐ์— ๋งŽ์ด ๋ฏธ์ˆ™ํ•œ ๋‚ด์šฉ์ด์ง€๋งŒ ํ•ด๋‹น ๊ฒŒ์‹œ๊ธ€์ด ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง„๋‹ค๋ฉด ์ด ๊ธ€๋กœ ํฅ๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ๋‹ค์‹œ ์ ‘๊ทผํ•ด ๋ณด๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค. ( ๋‚˜ ๋˜ํ•œ ๊ทธ๋žฌ๋‹ค ใ…Žใ…Ž ) [D+52] ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด (OOP) D+52 - ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด (OOP) - (OOP, ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, Prototype) OOP (Object-Oriendted-Programming) OOP๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋“ค์ด ๊ฐ์ฒด(์˜ค๋ธŒ์ ํŠธ)๋กœ.. 2021. 6. 8.