본문 바로가기
알고리즘

[JS] 알파벳을 숫자로 변환하는법

by 측면삼각근 2019. 9. 30.
728x90
반응형

문제

In this exercise, 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 being 1, b being 2, etc. (만약 문자가 알파벳이 아니라면, 무시하고 결과값에 포함하지 마세요. a 는 1, b 는 2, 등등 으로 변환됩니다.)

예시

alphabetPosition("The sunset sets at twelve o' clock."); // "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"


나의 코드 

var alphabetPosition = function(str) {
  let strArr = str.toUpperCase().split('');
  let resultArr = strArr.filter(function(el){
    let number = el.charCodeAt(0);
    return number > 64 && number < 123;
  });

  let result = '';
  for(let i = 0 ; i < resultArr.length ; i++){
    result += resultArr[i].charCodeAt(0)-64+" ";
  }
  return result.substring(0,result.length-1);
}


 

모델 솔루션

function alphabetPosition(string) {
  let chars = 'abcdefghijklmnopqrstuvwxyz'.split('')

  string = string.toLowerCase();

  let charArr = string.split('')

  return charArr.map(function(char) {
    return chars.indexOf(char) + 1
  }).filter(function(position) {
    return position !== 0;
  }).join(' ')

}

 


느낀점(아무말)

나는 아스키코드밖엔.....생각하지못했는데..
사실 솔루션 보자마자 머리를 한대 맞은것같았다.
이래서 페어프로그래밍이 필요하구나! 느낀문제

반응형

'알고리즘' 카테고리의 다른 글

[JS] 자료구조 - 코드 구현 전체  (0) 2019.11.27
복잡도 분석, 시간복잡도  (0) 2019.11.18
[JS] _.shuffle 구현  (0) 2019.11.17
[JS] 만일 reduce를 잊는다면 일어나는일  (0) 2019.09.30
[JS] reduce예제  (0) 2019.09.29