๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๋ฐฑ์ค€][Node.js] 5582๋ฒˆ : ๊ณตํ†ต ๋ถ€๋ถ„ ๋ฌธ์ž์—ด Algorithm - ๊ณตํ†ต ๋ถ€๋ถ„ ๋ฌธ์ž์—ด - ๋ฌธ์ œ ๋‘ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋‘ ๋ฌธ์ž์—ด์— ๋ชจ๋‘ ํฌํ•จ๋œ ๊ฐ€์žฅ ๊ธด ๊ณตํ†ต ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์–ด๋–ค ๋ฌธ์ž์—ด s์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด t๋ž€, s์— t๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌธ์ž์—ด ABRACADABRA์˜ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ ABRA, RAC, D, ACADABRA, ABRACADABRA, ๋นˆ ๋ฌธ์ž์—ด ๋“ฑ์ด๋‹ค. ํ•˜์ง€๋งŒ, ABRC, RAA, BA, K๋Š” ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์ด ์•„๋‹ˆ๋‹ค. ๋‘ ๋ฌธ์ž์—ด ABRACADABRA์™€ ECADADABRBCRDARA์˜ ๊ณตํ†ต ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ CA, CADA, ADABR, ๋นˆ ๋ฌธ์ž์—ด ๋“ฑ์ด ์žˆ๋‹ค. ์ด ์ค‘์—์„œ ๊ฐ€์žฅ ๊ธด ๊ณตํ†ต ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ ADABR์ด๋ฉฐ, ๊ธธ์ด๋Š” 5์ด๋‹ค. ๋˜, ๋‘ ๋ฌธ์ž์—ด์ด UPWJCIRUCAXIIRGL์™€ SBQ.. 2021. 11. 24.
[๋ฐฑ์ค€][Node.js] 5575๋ฒˆ : ํƒ€์ž„ ์นด๋“œ Algorithm - ํƒ€์ž„ ์นด๋“œ - ๋ฌธ์ œ JOI ์ƒ์‚ฌ๋Š” ์ง์›์˜ ๊ทผ๋ฌด์‹œ๊ฐ„์„ ํƒ€์ž„ ์นด๋“œ๋กœ ๊ด€๋ฆฌํ•˜๊ณ ์žˆ๋‹ค. ์ง์›๋“ค์€ ์ „์šฉ ์žฅ๋น„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํƒ€์ž„ ์นด๋“œ์— ์ถœ๊ทผ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•œ๋‹ค. ๊ทผ๋ฌด๋ฅผ ๋งˆ์น˜๊ณ  ํ‡ด๊ทผํ•  ๋•Œ๋„ ํƒ€์ž„ ์นด๋“œ์— ํ‡ด๊ทผ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•œ๋‹ค. ํƒ€์ž„์นด๋“œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‹œ๊ฐ„๋‹จ์œ„๋Š” 24 ์‹œ๊ฐ„์ œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ง์›๋“ค์˜ ์ถœ๊ทผ ์‹œ๊ฐ„์€ 7์‹œ ์ดํ›„์ด๋‹ค. ๋˜ํ•œ, ๋ชจ๋“  ์ง์›์€ 23์‹œ ์ด์ „์— ํ‡ด๊ทผํ•œ๋‹ค. ์ง์›์˜ ํ‡ด๊ทผ ์‹œ๊ฐ„์€ ํ•ญ์ƒ ์ถœ๊ทผ ์‹œ๊ฐ„๋ณด๋‹ค ๋Šฆ๋‹ค. ์ž…๋ ฅ์œผ๋กœ JOI ์ƒ์‚ฌ์˜ 3 ๋ช…์˜ ์ง์› A ์”จ, B ์”จ, C ์”จ์˜ ์ถœ๊ทผ ์‹œ๊ฐ„๊ณผ ํ‡ด๊ทผ ์‹œ๊ฐ„์ด ์ฃผ์–ด ์กŒ์„ ๋•Œ ๊ฐ ์ง์›์˜ ๊ทผ๋ฌด์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ const readline = require("readline"); const rl = readline.. 2021. 11. 23.
[๋ฐฑ์ค€][Node.js] 5565๋ฒˆ : ์˜์ˆ˜์ฆ Algorithm - ์˜์ˆ˜์ฆ - ๋ฌธ์ œ ์ƒˆ ํ•™๊ธฐ๋ฅผ ๋งž์•„ ์ƒ๊ทผ์ด๋Š” ์ฑ…์„ 10๊ถŒ ๊ตฌ์ž…ํ–ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์˜์š•์ด ๋„ˆ๋ฌด ์•ž์„œ์„œ ๊ฐ€๊ฒฉ์„ ์กฐ์‚ฌํ•˜์ง€ ์•Š๊ณ  ์ฑ…์„ ๊ตฌ์ž…ํ–ˆ๋‹ค. ์ด์ œ ๊ฐ ์ฑ…์˜ ๊ฐ€๊ฒฉ์„ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ์˜์ˆ˜์ฆ์—๋Š” ์–ผ๋ฃฉ์ด ๋ฌป์–ด์žˆ์—ˆ๊ณ , ์ƒ๊ทผ์ด๋Š” ์ฑ… 10๊ถŒ ์ค‘ 9๊ถŒ์˜ ๊ฐ€๊ฒฉ๋งŒ ์ฝ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ฑ… 10๊ถŒ์˜ ์ด ๊ฐ€๊ฒฉ๊ณผ ๊ฐ€๊ฒฉ์„ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” 9๊ถŒ ๊ฐ€๊ฒฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€๊ฒฉ์„ ์ฝ์„ ์ˆ˜ ์—†๋Š” ์ฑ…์˜ ๊ฐ€๊ฒฉ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on(".. 2021. 11. 20.
[๋ฐฑ์ค€][Node.js] 5554๋ฒˆ : ์‹ฌ๋ถ€๋ฆ„ ๊ฐ€๋Š” ๊ธธ Algorithm - ์‹ฌ๋ถ€๋ฆ„ ๊ฐ€๋Š” ๊ธธ - ๋ฌธ์ œ ์Šน๊ท ์ด๋Š” ๋งค์ผ ํ•™๊ต, PC๋ฐฉ, ํ•™์›์— ๋‹ค๋‹Œ๋‹ค. ๋ฐ˜๋ณต๋˜๋Š” ์ผ์ƒ์— ์ต์ˆ™ํ•ด์ง„ ์Šน๊ท ์ด๋Š” ์ด๋™์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•ด์„œ PC๋ฐฉ์— ๋” ์˜ค๋ž˜ ๋จธ๋ฌผ๊ณ  ์‹ถ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์Šคํ†ฑ์›Œ์น˜๋ฅผ ๋“ค๊ณ  ์ด๋™ํ•  ๋•Œ๋งˆ๋‹ค ๊ธฐ๋ก์„ ์žฐ ํ›„ ์ง‘์— ๊ฐ€์„œ ๋ถ„์„ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ง‘์— ๋„์ฐฉํ•œ ์Šน๊ท ์ด๋Š” ์ธก์ •ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋Š” ๋ฐ, ์ „๋ถ€ ์ดˆ ๋‹จ์œ„๋กœ ๊ธฐ๋ก๋˜์–ด์žˆ๋‹ค! ๋งจ๋‚  ๋†€๊ธฐ๋งŒ ํ•ด์„œ ์ด ์ด๋™ ์‹œ๊ฐ„์ด ๋ช‡ ๋ถ„ ๋ช‡ ์ดˆ์ธ์ง€ ๊ณ„์‚ฐ์„ ๋ชป ํ•˜๋Š” ์Šน๊ท ์ด๋ฅผ ๋„์™€์ฃผ์ž. ํ•˜๋ฃจ ๋™์•ˆ ์ธก์ •ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์ด๋‚ ์˜ ์ด ์ด๋™ ์‹œ๊ฐ„์ด ๋ช‡ ๋ถ„ ๋ช‡ ์ดˆ์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin") .toString() .split(.. 2021. 11. 19.
[๋ฐฑ์ค€][Node.js] 5543๋ฒˆ : ์ƒ๊ทผ๋‚ ๋“œ Algorithm - ์ƒ๊ทผ๋‚ ๋“œ - ๋ฌธ์ œ ์ƒ๊ทผ๋‚ ๋“œ์—์„œ ๊ฐ€์žฅ ์ž˜ ํŒ”๋ฆฌ๋Š” ๋ฉ”๋‰ด๋Š” ์„ธํŠธ ๋ฉ”๋‰ด์ด๋‹ค. ์ฃผ๋ฌธํ•  ๋•Œ, ์ž์‹ ์ด ์›ํ•˜๋Š” ํ–„๋ฒ„๊ฑฐ์™€ ์Œ๋ฃŒ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ณจ๋ผ, ์„ธํŠธ๋กœ ๊ตฌ๋งคํ•˜๋ฉด, ๊ฐ€๊ฒฉ์˜ ํ•ฉ๊ณ„์—์„œ 50์›์„ ๋บ€ ๊ฐ€๊ฒฉ์ด ์„ธํŠธ ๋ฉ”๋‰ด์˜ ๊ฐ€๊ฒฉ์ด ๋œ๋‹ค. ํ–„๋ฒ„๊ฑฐ๋Š” ์ด 3์ข…๋ฅ˜ ์ƒ๋•๋ฒ„๊ฑฐ, ์ค‘๋•๋ฒ„๊ฑฐ, ํ•˜๋•๋ฒ„๊ฑฐ๊ฐ€ ์žˆ๊ณ , ์Œ๋ฃŒ๋Š” ์ฝœ๋ผ์™€ ์‚ฌ์ด๋‹ค ๋‘ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ํ–„๊ฑฐ๋ฒ„์™€ ์Œ๋ฃŒ์˜ ๊ฐ€๊ฒฉ์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ์‹ผ ์„ธํŠธ ๋ฉ”๋‰ด์˜ ๊ฐ€๊ฒฉ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on.. 2021. 11. 18.
[๋ฐฑ์ค€][Node.js] 5532๋ฒˆ : ๋ฐฉํ•™ ์ˆ™์ œ Algorithm - ๋ฐฉํ•™ ์ˆ™์ œ - ๋ฌธ์ œ ์ƒ๊ทผ์ด๋Š” ์ดˆ๋“ฑํ•™๊ต์— ๋‹ค๋‹ ๋•Œ, ๋ฐฉํ•™ ์ˆ™์ œ๋ฅผ ๋‚จ๋“ค๋ณด๋‹ค ๋จผ์ € ๋ฏธ๋ฆฌ ํ•˜๊ณ  ๋‚จ์€ ๊ธฐ๊ฐ„์„ ๋†€์•˜๋‹ค. ๋ฐฉํ•™ ์ˆ™์ œ๋Š” ์ˆ˜ํ•™๊ณผ ๊ตญ์–ด ๋ฌธ์ œ ํ’€๊ธฐ์ด๋‹ค. ๋ฐฉํ•™์€ ์ด L์ผ ์ด๋‹ค. ์ˆ˜ํ•™์€ ์ด BํŽ˜์ด์ง€, ๊ตญ์–ด๋Š” ์ด AํŽ˜์ด์ง€๋ฅผ ํ’€์–ด์•ผ ํ•œ๋‹ค. ์ƒ๊ทผ์ด๋Š” ํ•˜๋ฃจ์— ๊ตญ์–ด๋ฅผ ์ตœ๋Œ€ CํŽ˜์ด์ง€, ์ˆ˜ํ•™์„ ์ตœ๋Œ€ DํŽ˜์ด์ง€ ํ’€ ์ˆ˜ ์žˆ๋‹ค. ์ƒ๊ทผ์ด๊ฐ€ ๊ฒจ์šธ ๋ฐฉํ•™๋™์•ˆ ์ˆ™์ œ๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ๋†€ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋‚ ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin") .toString() .split("\n") .map((el) => Number(el)); while (true) { input[0]--; in.. 2021. 11. 17.