๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„์—” ๊ณต๋ถ€/๐Ÿซง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[๋ฐฑ์ค€/Node.js] 5622๋ฒˆ ๋‹ค์ด์–ผ || ํ’€์ด JavaScript

728x90

์ฒ˜์Œ์—” ๋‹จ์ˆœํ•˜๊ฒŒ switch ๋ฌธ์„ ๊ฐ€์ง€๊ณ  ์“ฐ๋‹ค๊ฐ€ ํ˜„ํƒ€๊ฐ€์˜ด. 

๊ทธ๋ž˜์„œ if๋ฌธ์œผ๋กœ ์•„์Šคํ‚ค ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ›„ ๋ฒ”์œ„ ์ง€์ •ํ•ด์„œ ํ•˜๋‹ค๊ฐ€ ๋˜๋‹ค์‹œ ํ˜„ํƒ€๊ฐ€ ์˜ด. (๊ฒŒ๋‹ค๊ฐ€ ํ‹€๋ฆผ)

 

์ด๋ ‡๊ฒŒ ๋ฐ–์— ๋ชปํ’€์ง€ ์•Š์„ ํ…๋ฐ...??

์•ŒํŒŒ๋ฒณ์€ ๋Œ€๋ถ€๋ถ„ 3๊ฐœ์”ฉ ๋‚˜๋ˆ ์ ธ ์žˆ๊ณ , (7๋ฒˆ์ด๋ž‘ 9๋ฒˆ๋งŒ 4๊ฐœ์”ฉ) index๋กœ ์—ฐ๊ด€์‹œํ‚ค๋ฉด ๋  ๊ฑฐ ๊ฐ™์€๋ฐ ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. 

 

์•ŒํŒŒ๋ฒณ ์ „์ฒด๋ฅผ ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ํ›„ index๋ฅผ ๋ณด๋ฉด ์ด๋Ÿฐ ์‹์ด๋‹ค.

 [ 'A', 0 ],  [ 'B', 1 ],  [ 'C', 2 ],
  [ 'D', 3 ],  [ 'E', 4 ],  [ 'F', 5 ],
  [ 'G', 6 ],  [ 'H', 7 ],  [ 'I', 8 ],
  [ 'J', 9 ],  [ 'K', 10 ], [ 'L', 11 ],
  [ 'M', 12 ], [ 'N', 13 ], [ 'O', 14 ],
  [ 'P', 15 ], [ 'Q', 16 ], [ 'R', 17 ],
  [ 'S', 18 ], [ 'T', 19 ], [ 'U', 20 ],
  [ 'V', 21 ], [ 'W', 22 ], [ 'X', 23 ],
  [ 'Y', 24 ], [ 'Z', 25 ]

 

๋‹ค์ด์–ผ์—์„œ 1-> 2์ดˆ ๊ฑธ๋ฆฌ๋‹ˆ 2-> 3์ดˆ ๊ฑธ๋ฆฐ๋‹ค. 

์ฆ‰, ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์€ 3์ดˆ๋ถ€ํ„ฐ ์‹œ์ž‘์ž„. 

 

์˜ˆ์™ธ์ธ 7๋ฒˆ - S ์™€ ๋งจ ๋ 4๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ์„ ์ œ์™ธํ•˜๋ฉด

index๋Š” 3์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์˜ ๋ชซ์— +3 ์„ ํ•˜๋ฉด ํ•ด๋‹น ์ดˆ๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. (์†Œ์ˆ˜์ ์„ ์—†์• ๊ธฐ ์œ„ํ•ด ParseInt ๋ฅผ ํ•ด์คŒ) 

์ฆ‰, ์ˆซ์ž 2๋ฒˆ ์นธ์˜ index๋“ค์€  3์œผ๋กœ ๋‚˜๋ˆˆํ›„ parseInt ํ•ด์ฃผ๋ฉด === 0, 0, 0 ์ด๋‹ค. 

์ˆซ์ž 3๋ฒˆ ์นธ์˜ ์ˆซ์ž๋“ค์€ -> 1, 1, 1 ์ด๋‹ค.

์ˆซ์ž 4๋ฒˆ ์นธ์˜ ์ˆซ์ž๋“ค์€ -> 2, 2, 2 ์ด๋‹ค.

const input = require('fs').readFileSync('/dev/stdin').toString().split("");
let newInput = input.map(v => v === "Y" || v === "Z" ? v = "W" : v === "S" ? v = "R" : v);
let indexArr = [];

const arr = 'ABCDEFGHIJKLMNOPQRTUVWXYZ'.split("");
newInput.map((v) => arr.includes(v) && indexArr.push(arr.indexOf(v)));

const secondArr = indexArr.map(v => parseInt(v / 3) + 3);
console.log(secondArr.reduce((sum, curr) => sum + curr));

 

์ฆ‰, index๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ํ›„ 3์„ ๋”ํ•ด์ฃผ๋ฉด ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์„ ๋Œ๋ฆด ์‹œ ๊ฑธ๋ฆฌ๋Š” ์ดˆ๊ฐ€ ๋œ๋‹ค. 

 

๋‹จ, ์˜ˆ์™ธ๊ฐ€ ์žˆ๊ธฐ์— S ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์ˆซ์ž 7๋ฒˆ ์นธ์— ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. (S๋Š” ์ „์ฒด ์•ŒํŒŒ๋ฒณ ๋ฐฐ์—ด์—์„œ ์ œ์™ธํ•œ๋‹ค)

๋˜๋‹ค๋ฅธ ์˜ˆ์™ธ์ธ YZ๋Š” W๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. (YZ๋Š” ๋์— ์žˆ์–ด์„œ ์•ŒํŒŒ๋ฒณ ๋ฐฐ์—ด์— ์žˆ์œผ๋‚˜ ์—†์œผ๋‚˜ ์ƒ๊ด€์—†๋‹ค. ๋‹ค๋ฅธ index ์— ์˜ํ–ฅ ์•ˆ๋ผ์นจ)

๊ทธ๋Ÿผ ์˜ˆ์™ธ ์—†์ด ์ดˆ๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ใ…‡ใ…–~~

 

 

 

+

๋ฌธ์ž์—ด ์™„๋ฃŒ๋‹ค!

728x90
๋ฐ˜์‘ํ˜•