728x90
Instructions.
In this kata you are required to, given a string, replace every letter with its position in the alphabet.
If anything in the text isn't a letter, ignore it and don't return it.
"a" = 1, "b" = 2, etc.
이 문제를 풀기 위해서는 받은 텍스트를 각 알파벳의 인덱스로 변환해야 한다. 만약, 받은 텍스트에 문자가 아닌 것이 포함되어 있다면, 무시하고 반환값에 포함시키지 않는다.
Example.
alphabetPosition("The sunset sets at twelve o' clock.")
result.
"20 8 5 19 21 14 19 5 20 19 5 20 19 1 20 20 23 5 12 22 5 15 3 12 15 3 11" ( as a string )
Solution.
function alphabetPosition(text) {
return text
.toUpperCase()
.match(/[a-z]/gi)
// 알파벳의 순서에 맞춰 숫자를 반환
// A의 decimal이 65이기 때문에 - 64
.map( (c) => c.charCodeAt() - 64)
.join(' ');
}
참고.
ASCII(American Standard Code for Information Interchange)란?
미국 국립 표준 협회(ANSI, American National Standards Institute)에서 표준화한 정보 교환용 7비트 부호체계이다.
ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다.
* 문자 인코딩(Character Encoding) - 줄여서 인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 말한다. 즉, 복잡한 신호를 0과 1의 디지털진호(2진수)로 변환하는 것을 의미한다.
'ABC'.charCodeAt(0); // returns 65
ASCII(아스키 코드)란 무엇인가? (유니코드, 패리티 검사 등) -https://m.blog.naver.com/ycpiglet/222146759413
MDN - charCodeAt()
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt
'1Day 1Practice' 카테고리의 다른 글
[codewars] Stop gninnips My sdroW! (0) | 2022.06.14 |
---|---|
[codewars] Isograms (0) | 2022.06.10 |
[codewars] Persistent Bugger (0) | 2022.05.19 |
[Programmers] 행렬의 덧셈 (0) | 2022.03.18 |
[Programmers] x만큼 간격이 있는 n개의 숫자 (0) | 2022.02.21 |