-
[백준 Node.js] 10809번 알파벳 찾기 (Feat. 아스키코드)To infinity/Coding Practice 2021. 6. 26. 14:35
2021.06.26
Question
Answer code
let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString(); let alphabet = [] for (let i=97; i < 123; i++){ alphabet += input.indexOf(String.fromCharCode(i)) + ' ' } console.log(alphabet);
How to solve?
알파벳 소문자 a to z까지 돌면서 주어진 문자에 해당 알파벳이 처음 등장하는 위치를 확인하는 문제다.
먼저, 처음 등장하는 문자를 판별하는 함수를 찾자.
String.prototype.indexOf
인수로 전달받은 문자열을 검색하여 첫번째 인덱스를 반환그럼 a to z까지는 어떻게 정의할지 생각해보자.
숫자같은 경우에는 i로 돌리면 되지만 문자는?
어. 찾아보니 반복문으로 되나보다.
안됀다. java만 되나보다.
그럼 정규표현식으로 풀면 될 것 같다.
정규표현식이란 일정한 패턴을 가진 문자열의 집ㅎ아르 표현하기 위해 사용하는 형식언어다.
아.. 찾아보니 '아스키코드'로 풀면 된다.
내가 '아스키코드'를 스킵해서 몰랐나보다.
아, 아스키코드를 찾아보니 되게 쉬운 문제였다.
숫자를 문자로 변환하는데 , 그리고 그반대로도 매우 유용한 코드인 것 같다.
앞으로 자주 마주할 듯.
아스키코드
문자열 => 아스키코드
"문자열".charCodeAt([문자열 자릿수]);아스키코드 => 문자열
String.fromCharCode([아스키코드값]);
Reference
'To infinity > Coding Practice' 카테고리의 다른 글
[백준 Node.js] 1157번 단어공부 (0) 2021.06.26 [백준 Node.js] 2908번 상수 (0) 2021.06.26 [백준 Node.js] 11720번 숫자의 합 (0) 2021.06.26 [백준 Node.js] 1065번 한수 (0) 2021.06.26 [백준 Node.js] 4673번 셀프넘버 (함수) (0) 2021.06.26