나의 풀이
const input = require('fs').readFileSync('dev/stdin').toString().trim();
let ASCII = 0;
const alpha_low = 'abcdefghijklmnopqrstuvwxyz';
const alpha_upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
const number = '0123456789';
if (alpha_low.includes(input)) ASCII = 97 + alpha_low.indexOf(input);
else if (alpha_upper.includes(input)) ASCII = 65 + alpha_upper.indexOf(input);
else ASCII = 48 + number.indexOf(input);
console.log(ASCII);
나는 이 문제가 문자열 알고리즘 문제이기 때문에 문자열을 활용하여 풀어야한다고 생각했다. 대소문자 알파벳과 숫자를 문자열로 담은 변수를 각각 선언하고, 입력받은 값을 찾아 아스키코드 값을 출력하도록 작성했고, 제출 결과는 성공적이었다.
다른 풀이
const input = require('fs').readFileSync('dev/stdin').toString().trim();
console.log(input.charCodeAt(0));
다른 이들의 풀이를 보고 머리가 띵했다. 바로 아스키코드를 반환하는 charCodeAt
라는 문자열 메소드가 존재했던 것이다. 지금까지 공부하면서 이런 메소드가 있는지 몰랐고, 나의 무지함에 충격을 받았던 것. 충격과 별개로 새로운 지식이 쌓였다!