๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๋ฐฑ์ค€][Node.js] 2953๋ฒˆ : ๋‚˜๋Š” ์š”๋ฆฌ์‚ฌ๋‹ค Algorithm - ๋‚˜๋Š” ์š”๋ฆฌ์‚ฌ๋‹ค - ๋ฌธ์ œ "๋‚˜๋Š” ์š”๋ฆฌ์‚ฌ๋‹ค"๋Š” ๋‹ค์„ฏ ์ฐธ๊ฐ€์ž๋“ค์ด ์„œ๋กœ์˜ ์š”๋ฆฌ ์‹ค๋ ฅ์„ ๋ฝ๋‚ด๋Š” ํ‹ฐ๋น„ ํ”„๋กœ์ด๋‹ค. ๊ฐ ์ฐธ๊ฐ€์ž๋Š” ์ž์‹ ์žˆ๋Š” ์Œ์‹์„ ํ•˜๋‚˜์”ฉ ๋งŒ๋“ค์–ด์˜ค๊ณ , ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ์Œ์‹์„ ์ ์ˆ˜๋กœ ํ‰๊ฐ€ํ•ด์ค€๋‹ค. ์ ์ˆ˜๋Š” 1์ ๋ถ€ํ„ฐ 5์ ๊นŒ์ง€ ์žˆ๋‹ค. ๊ฐ ์ฐธ๊ฐ€์ž๊ฐ€ ์–ป์€ ์ ์ˆ˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ‰๊ฐ€ํ•ด ์ค€ ์ ์ˆ˜์˜ ํ•ฉ์ด๋‹ค. ์ด ์‡ผ์˜ ์šฐ์Šน์ž๋Š” ๊ฐ€์žฅ ๋งŽ์€ ์ ์ˆ˜๋ฅผ ์–ป์€ ์‚ฌ๋žŒ์ด ๋œ๋‹ค. ๊ฐ ์ฐธ๊ฐ€์ž๊ฐ€ ์–ป์€ ํ‰๊ฐ€ ์ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์šฐ์Šน์ž์™€ ๊ทธ์˜ ์ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin") .toString() .split("\n") .map((el) => el.split(" ").map((el.. 2021. 10. 13.
[๋ฐฑ์ค€][Node.js] 2941๋ฒˆ : ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ Algorithm - ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ - ๋ฌธ์ œ ์˜ˆ์ „์—๋Š” ์šด์˜์ฒด์ œ์—์„œ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ์ž…๋ ฅํ•  ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์„ ๋ณ€๊ฒฝํ•ด์„œ ์ž…๋ ฅํ–ˆ๋‹ค. ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ฤ c= ฤ‡ c- dลพ dz= ฤ‘ d- lj lj nj nj š s= ลพ z= ์˜ˆ๋ฅผ ๋“ค์–ด, ljes=njak์€ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ 6๊ฐœ(lj, e, š, nj, a, k)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ช‡ ๊ฐœ์˜ ํฌ๋กœ์•„ํ‹ฐ์•„ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. dลพ๋Š” ๋ฌด์กฐ๊ฑด ํ•˜๋‚˜์˜ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์“ฐ์ด๊ณ , d์™€ ลพ๊ฐ€ ๋ถ„๋ฆฌ๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ง€ ์•Š๋Š”๋‹ค. lj์™€ nj๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ์œ„ ๋ชฉ๋ก์— ์—†๋Š” ์•ŒํŒŒ๋ฒณ์€ ํ•œ ๊ธ€์ž์”ฉ ์„ผ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.rea.. 2021. 10. 12.
[๋ฐฑ์ค€][Node.js] 2935๋ฒˆ : ์†Œ์Œ Algorithm - ์†Œ์Œ - ๋ฌธ์ œ ์ˆ˜์—… ์‹œ๊ฐ„์— ๋– ๋“œ๋Š” ๋‘ ํ•™์ƒ์ด ์žˆ๋‹ค. ๋‘ ํ•™์ƒ์€ ์ˆ˜์—…์— ์ง‘์ค‘ํ•˜๋Š” ๋Œ€์‹ ์— ๊ธ€๋กœ๋ฒŒ ๊ฒฝ์ œ ์œ„๊ธฐ์— ๋Œ€ํ•ด์„œ ํ† ๋ก ํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. ํ† ๋ก ์ด ์ ์  ๊ณผ์—ด๋˜๋ฉด์„œ ๋‘ ํ•™์ƒ์€ ๋ชฉ์†Œ๋ฆฌ๋ฅผ ๋†’์˜€๊ณ , ๊ฒฐ๊ตญ ์„ ์ƒ๋‹˜์€ ํฌ๊ฒŒ ๋ถ„๋…ธํ•˜์˜€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•™์ƒ๋“ค์ด ์ˆ˜์—… ์‹œ๊ฐ„์— ๋– ๋“œ๋Š” ๋ฌธ์ œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ• ๊นŒ? ์–ผ๋งˆ์ „์— ์ดˆ๋“ฑํ•™๊ต ์„ ์ƒ๋‹˜์œผ๋กœ ์ทจ์งํ•œ ์ƒ๊ทผ์ด๋Š” ์ด ๋ฌธ์ œ๋ฅผ ์ˆ˜ํ•™ ๋ฌธ์ œ๋กœ ํ•ด๊ฒฐํ•œ๋‹ค. ํ•™์ƒ๋“ค์„ ์ง„์ •์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์น ํŒ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์จ์ฃผ๊ณ , ์•„์ด๋“ค์—๊ฒŒ ์กฐ์šฉํžˆ ์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ํ•œ๋‹ค. ํ•™์ƒ๋“ค์ด ๋ฌธ์ œ๋ฅผ ๊ธˆ๋ฐฉ ํ’€๊ณ  ๋‹ค์‹œ ๋– ๋“œ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ์ˆซ์ž๋ฅผ ๋งค์šฐ ํฌ๊ฒŒ ํ•œ๋‹ค. ์•„์ง ์ดˆ๋“ฑํ•™๊ต์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ•™์ƒ๋“ค์€ ๋ง์…ˆ๊ณผ ๊ณฑ์…ˆ๋งŒ ๋ฐฐ์› ๋‹ค. ๋˜, ์•„์ง 10์˜ ์ œ๊ณฑ๊ผด์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์ˆ˜๋Š” ํ•™๊ต์—์„œ ๋ฐฐ์šฐ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, ์„ ์ƒ๋‹˜์ด ์จ์ฃผ.. 2021. 10. 11.
[๋ฐฑ์ค€][Node.js] 2920๋ฒˆ : ์Œ๊ณ„ Algorithm - ์Œ๊ณ„ - ๋ฌธ์ œ ๋‹ค์žฅ์กฐ๋Š” c d e f g a b C, ์ด 8๊ฐœ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ 8๊ฐœ ์Œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆซ์ž๋กœ ๋ฐ”๊พธ์–ด ํ‘œํ˜„ํ•œ๋‹ค. c๋Š” 1๋กœ, d๋Š” 2๋กœ, ..., C๋ฅผ 8๋กœ ๋ฐ”๊พผ๋‹ค. 1๋ถ€ํ„ฐ 8๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ์ฃผํ•œ๋‹ค๋ฉด ascending, 8๋ถ€ํ„ฐ 1๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ์—ฐ์ฃผํ•œ๋‹ค๋ฉด descending, ๋‘˜ ๋‹ค ์•„๋‹ˆ๋ผ๋ฉด mixed ์ด๋‹ค. ์—ฐ์ฃผํ•œ ์ˆœ์„œ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๊ฒƒ์ด ascending์ธ์ง€, descending์ธ์ง€, ์•„๋‹ˆ๋ฉด mixed์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin").toString().split(" ").map(el => Number(.. 2021. 10. 10.
[๋ฐฑ์ค€][Node.js] 2914๋ฒˆ : ์ €์ž‘๊ถŒ Algorithm - ์ €์ž‘๊ถŒ - ๋ฌธ์ œ ์ฐฝ์˜์ด๋Š” ๋…ธ๋ž˜ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์ด์–ด์„œ ๋ถ€๋ฅด๋Š” ๊ฐ€์ˆ˜์ด๋‹ค. ์œ ๋ช…ํ•œ ๋…ธ๋ž˜์˜ ๋น„์Šทํ•œ ๋ฉœ๋กœ๋””๋ฅผ ์ด์–ด์„œ ๋ถ€๋ฅด๋ฉด์„œ ์–ธ์ œ ๊ณก์ด ๋„˜์–ด๊ฐ”๋Š”์ง€ ๋ชจ๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ฐฝ์˜์ด ๋…ธ๋ž˜์˜ ํŠน์ง•์ด๋‹ค. ์ด๋Ÿฐ ๋…ธ๋ž˜๋กœ ์ƒ์—…์ ์œผ๋กœ ์—„์ฒญ๋‚œ ์„ฑ๊ณต์„ ๊ฑฐ๋‘” ์ฐฝ์˜์ด์—๊ฒŒ ํฐ ์‹œ๋ จ์ด ์ฐพ์•„์™”๋‹ค. ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ ์ €์ž‘๊ถŒ์ด์—ˆ๋‹ค. ์ฐฝ์˜์ด์˜ ๋…ธ๋ž˜์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋ฉœ๋กœ๋””๋Š” ๋ชจ๋‘ ์ €์ž‘๊ถŒ์ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ์žˆ๋Š” ๋…ธ๋ž˜์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์ด ์Œ์•…์œผ๋กœ ์ƒ์—…์ ์ธ ํ™œ๋™์„ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ €์ž‘๊ถŒ ํ˜‘ํšŒ์— ์ €์ž‘๊ถŒ๋ฃŒ๋ฅผ ๋‚ด์•ผํ•œ๋‹ค. ์ฐฝ์˜์ด๋Š” ์ž์‹ ์˜ ์•จ๋ฒ”์— ํฌํ•จ๋˜์–ด์žˆ๋Š” ์ €์ž‘๊ถŒ์ด ์žˆ๋Š” ๋ฉœ๋กœ๋””์˜ ํ‰๊ท ๊ฐ’์„ ๊ตฌํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ด ๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. (์ฐฝ์˜์ด ์•จ๋ฒ”์— ์ˆ˜๋ก๋œ ๊ณก์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์ €์ž‘๊ถŒ์ด ์žˆ๋Š” ๋ฉœ๋กœ๋””์˜ ๊ฐœ์ˆ˜) / (์•จ๋ฒ”์— ์ˆ˜๋ก๋œ ๊ณก์˜ ๊ฐœ์ˆ˜) ์ด๋•Œ, ํ‰.. 2021. 10. 8.
[๋ฐฑ์ค€][Node.js] 2908๋ฒˆ : ์ƒ์ˆ˜ Algorithm - ์ƒ์ˆ˜ - ๋ฌธ์ œ ์ƒ๊ทผ์ด์˜ ๋™์ƒ ์ƒ์ˆ˜๋Š” ์ˆ˜ํ•™์„ ์ •๋ง ๋ชปํ•œ๋‹ค. ์ƒ์ˆ˜๋Š” ์ˆซ์ž๋ฅผ ์ฝ๋Š”๋ฐ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ˆ˜ํ•™์„ ๋ชปํ•˜๋Š” ์ƒ์ˆ˜๋ฅผ ์œ„ํ•ด์„œ ์ƒ๊ทผ์ด๋Š” ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‚ด์ฃผ์—ˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์„ธ ์ž๋ฆฌ ์ˆ˜ ๋‘ ๊ฐœ๋ฅผ ์น ํŒ์— ์จ์ฃผ์—ˆ๋‹ค. ๊ทธ ๋‹ค์Œ์— ํฌ๊ธฐ๊ฐ€ ํฐ ์ˆ˜๋ฅผ ๋งํ•ด๋ณด๋ผ๊ณ  ํ–ˆ๋‹ค. ์ƒ์ˆ˜๋Š” ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ฑฐ๊พธ๋กœ ์ฝ๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 734์™€ 893์„ ์น ํŒ์— ์ ์—ˆ๋‹ค๋ฉด, ์ƒ์ˆ˜๋Š” ์ด ์ˆ˜๋ฅผ 437๊ณผ 398๋กœ ์ฝ๋Š”๋‹ค. ๋”ฐ๋ผ์„œ, ์ƒ์ˆ˜๋Š” ๋‘ ์ˆ˜์ค‘ ํฐ ์ˆ˜์ธ 437์„ ํฐ ์ˆ˜๋ผ๊ณ  ๋งํ•  ๊ฒƒ์ด๋‹ค. ๋‘ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ƒ์ˆ˜์˜ ๋Œ€๋‹ต์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…์ถœ๋ ฅ ์˜ˆ์‹œ ๋ฌธ์ œ ํ’€๊ธฐ let fs = require("fs"); let input = fs.readFileSync("/dev/stdin").t.. 2021. 10. 7.