Algorithm/๋ฐฑ์ค€(BOJ)

[Node.js/JavaScript] ๋ฐฑ์ค€ 10809๋ฒˆ ์•ŒํŒŒ๋ฒณ ์ฐพ๊ธฐ

_์„ฑํ˜ธ_ 2022. 7. 3. 18:39
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•ด์„œ, ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์œ„์น˜๋ฅผ, ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

ํ’€์ด

const input = require('fs').readFileSync('์˜ˆ์ œ.txt').toString().trim().split('');

let result = '';
// UTF-16 ์ฝ”๋“œ ์œ ๋‹›์˜ ์‹œํ€€์Šค๋กœ๋ถ€ํ„ฐ a - z ๋ฌธ์ž๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ํ•ด๋‹น ๋ฌธ์ž์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜
// ํ•ด๋‹น ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜
for (let i = 97; i <= 122; i++) {
  result += input.indexOf(String.fromCharCode(i)) + ' ';
}

console.log(result);

 

์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•  ๋ถ€๋ถ„!

String.fromCharCode() ๋ฉ”์„œ๋“œ๋Š” UTF-16 ์ฝ”๋“œ ์œ ๋‹›์˜ ์‹œํ€€์Šค๋กœ๋ถ€ํ„ฐ ๋ฌธ์ž์—ด์„ ์ƒ์„ฑํ•ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฉ”์„œ๋“œ

// a - z ๋ฌธ์ž๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ UTF-16 ์ฝ”๋“œ ์œ ๋‹›์˜ ์‹œํ€€์Šค๋กœ๋ถ€ํ„ฐ ์ƒ์„ฑํ•ด ๋ฐ˜ํ™˜
// 97 ~ 122 ์ด 26๊ฐœ์˜ ๋ฌธ์ž
let result = '';

for (let i = 97; i <= 122; i++) {
  result += String.fromCharCode(i) + ' ';
}

console.log(result);