프로그래머스 (JS)/Lv. 0

[Programmers] 120894번 - 영어가 싫어요

hodo- 2023. 3. 5. 14:24

Problem

문제 보기

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.


Solution

function solution(numbers) {
    const num = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" ];
    
    num.forEach((x, index) => {
        numbers = numbers.replaceAll(x, index);
    })
    
    return Number(numbers);
}

다른 풀이를 보니 아래 reduce()를 이용해서 풀 수 있는 방법도 있다.

var solution=n=>Number(['zero','one','two','three','four','five','six','seven','eight','nine'].reduce((t,s,i)=>t.replaceAll(s,i),n))