🔑 알고리즘/백준 JS

[백준] JS/ 10808 알파벳 개수

Tamii 2021. 9. 30. 09:46
반응형

내 풀이

const fs = require('fs');

let input = (fs.readFileSync('./test') + '').toString().trim().split('');
let ans = new Array(26).fill(0);
input.map((alpha) => {
  let alpha2Ascii = alpha.charCodeAt(0);
  ans[alpha2Ascii - 97] += 1;
});
console.log(ans.join(' '));

 

정말 단순히

받은 문자열을 배열로 돌며 Ascii로 바꿔주고 해당 배열의 idx-97 (a = 97)에 넣어주기!

 

 

 

다른 풀이

const s = require("fs").readFileSync("/dev/stdin").toString().split("");

const alphabet = "abcdefghijklmnopqrstuvwxyz";
const counts = new Array(26).fill(0);

s.forEach(i => counts[alphabet.indexOf(i)]++);

console.log(counts.join(" "));

호오......

문자열의 인덱스를 넣어주는 방법은 생각을 못했다. 굳이 Ascii로 변환할 필요가 없었던 모양입니다.