본문 바로가기
개발/알고리즘

프로그래머스 : 숫자 문자열과 영단어 자바스크립트

by 안뇽! 2021. 10. 27.
반응형

정규표현식을 안쓰려고 아둥바둥 하다가 결국 정규표현식을 썼다.

정규표현식을 따로 기재하진 않겠다.

String.Split() 과 Array.join()

나는 Splitjoin을 단순히 배열<->문자열 전환역할로만 생각했다.

 

하지만 이 문제는 splitjoin의 개념을 정확히 알고 있을때 풀 수 있는 문제였다.

 

  • Array.join(x) : Array의 각 요소들 사이에 x를 넣어서 연결한다. x가 없다면 쉼표(,)로 대신한다.
['2', '45sixseven'].join(1)
//= '2145sixseven'

 

  • String.split(x) : String을 x로 끊어서 배열로 만든다.
'2three45sixseven'.split('three')
//= ['2', '45sixseven']

 

풀이

당연히 내 머리에서 나온게 아니다.

function solution(s) {
    let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
    var answer = s;

    //join과 split의 개념
    for(let i=0; i< numbers.length; i++) {
        let arr = answer.split(numbers[i]);
        answer = arr.join(i);
    }

    return Number(answer);
}
반응형