728x90
๋ฐ์ํ
๋ฌธ์
์ํ๋ฒณ ๋์๋ฌธ์๋ก ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด ๋จ์ด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์ํ๋ฒณ์ด ๋ฌด์์ธ์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, ๋๋ฌธ์์ ์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
ํ์ด
const input = require('fs').readFileSync('์์ .txt').toString().trim().toUpperCase();
// 26์ ๊ธธ์ด๋ฅผ ๊ฐ์ง ๋น ๋ฐฐ์ด์ 0์ ์ฑ์์ ๋ฐฐ์ด ๊ฐ์ฒด ์์ฑ
const arr = new Array(26).fill(0);
// ๋ฌธ์ A์ ์ธ๋ฑ์ค = 0 (UTF-16 ์ฝ๋๋ฅผ ๋ํ๋ด๋ ์ ์ - 65)
for (let i = 0; i < input.length; i++) {
arr[input.charCodeAt(i) - 65]++;
}
// ๋ฐฐ์ด ์์์ ์ต๋๊ฐ ์ฐพ๊ธฐ
const max = Math.max(...arr);
const maxIndex = arr.indexOf(max);
let maxNum = 0;
// ๋ฐฐ์ด์ ๋ค์ด์๋ ์์์ ์ต๋๊ฐ์ด ๋์ผํ ๊ฒฝ์ฐ 1 ์ฆ๊ฐ
arr.map((item) => {
if (item === max) {
maxNum++;
}
});
maxNum > 1 ? console.log('?') : console.log(String.fromCharCode(maxIndex + 65));
ํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๊ฐ๋ !
charCodeAt() ๋ฉ์๋๋ ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ๋ํ UTF-16 ์ฝ๋๋ฅผ ๋ํ๋ด๋ 0๋ถํฐ 65535 ์ฌ์ด์ ์ ์๋ฅผ ๋ฐํํ๋ ๋ฉ์๋
const sentence = 'The quick brown fox jumps over the lazy dog.';
const index = 4;
console.log(`The character code ${sentence.charCodeAt(index)} is equal to ${sentence.charAt(index)}`);
// expected output: "The character code 113 is equal to q"
์ฐธ๊ณ
2022.07.03 - [Algorithm] - [Node.js/JAVASCRIPT] ๋ฐฑ์ค 10809๋ฒ ์ํ๋ฒณ ์ฐพ๊ธฐ
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋ฐฑ์ค 10989๋ฒ ์ ์ ๋ ฌํ๊ธฐ 3 (0) | 2022.08.08 |
---|---|
[Python] ๋ฐฑ์ค 2751๋ฒ ์ ์ ๋ ฌํ๊ธฐ 2 (0) | 2022.08.08 |
[Node.js/JavaScript] ๋ฐฑ์ค 10809๋ฒ ์ํ๋ฒณ ์ฐพ๊ธฐ (0) | 2022.07.03 |
[Node.js/JavaScript] ๋ฐฑ์ค 2908๋ฒ ์์ (0) | 2022.06.30 |
[Node.js/JavaScript] ๋ฐฑ์ค 1152๋ฒ ๋จ์ด์ ๊ฐ์ (0) | 2022.04.17 |