코딩 테스트/프로그래머스 level1

숫자 문자열과 영단어

fullfish 2022. 4. 28. 02:16

아이디어

정규표현식 replace 쓰면되겠다

 

코드

function solution(s) {
  const result = s
    .replace(/zero/g, 0)
    .replace(/one/g, 1)
    .replace(/two/g, 2)
    .replace(/three/g, 3)
    .replace(/four/g, 4)
    .replace(/five/g, 5)
    .replace(/six/g, 6)
    .replace(/seven/g, 7)
    .replace(/eight/g, 8)
    .replace(/nine/g, 9);
  return Number(result);
}

 

다른 방식의 코드 (split과 join활용)

function solution(s) {
    let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
    var answer = s;
    for(let i=0; i< numbers.length; i++) {
        let arr = answer.split(numbers[i]); //'abcd'.split('b') === ['a', 'cd']
        answer = arr.join(i);  // ['a', 'cd'].join(10) === 'a10cd'
    }
    return Number(answer);
}

'코딩 테스트 > 프로그래머스 level1' 카테고리의 다른 글

소수 만들기  (0) 2022.08.06
음양 더하기  (0) 2022.08.06
신규 아이디 추천  (1) 2022.04.27
로또의 최고 순위와 최저 순위  (0) 2022.04.27
신고 결과 받기  (0) 2022.04.21