# [Algorithm/JS] 백준 11654번 아스키 코드
# Question
알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오.
# Input
알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다.
# Output
입력으로 주어진 글자의 아스키 코드 값을 출력한다
# Example
# Input 1
A
1
# Output 1
65
1
# Input 2
9
1
# Output 2
57
1
이 외의 입출력은 상단의 문제 바로가기 링크에서 확인
# Solution
# 나의 풀이
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);
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
나는 이 문제가 문자열 알고리즘 문제이기 때문에 문자열을 활용하여 풀어야한다고 생각했다. 대소문자 알파벳과 숫자를 문자열로 담은 변수를 각각 선언하고, 입력받은 값을 찾아 아스키코드 값을 출력하도록 작성했고, 제출 결과는 성공적이었다.
# 다른 풀이
const input = require('fs').readFileSync('dev/stdin').toString().trim();
console.log(input.charCodeAt(0));
1
2
2
다른 이들의 풀이를 보고 머리가 띵했다. 바로 아스키코드를 반환하는 charCodeAt
라는 문자열 메소드가 존재했던 것이다. 지금까지 공부하면서 이런 메소드가 있는지 몰랐고, 나의 무지함에 충격을 받았던 것. 충격과 별개로 새로운 지식이 쌓였다!
← 1065번 한수 11720번 숫자의 합 →