코딩테스트

[코딩테스트] 영어가 싫어요

홍시_코딩기록 2024. 4. 26. 23:08

머쓱아 이정도는 그냥 영어로 해

 

 

📌 내 코드

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

    return Number(result);
}

- 1부터 0까지 가내수공업으로 숫자를 바꿔주었다...

- 부끄러워진 내 코드..

 

 

📌 다른 사람 코드

function solution(numbers) {
    const obj = {
        zero: 0, one: 1, two: 2, three: 3, four: 4,
        five: 5, six: 6, seven: 7, eight: 8, nine: 9
    };

    const num = numbers.replace(/zero|one|two|three|four|five|six|seven|eight|nine/g, (v) => {
        return obj[v];
    });

    return Number(num);
}

- 0부터 9까지 객체로 만들었다.

- replace를 이용해서 해당하는 숫자로 바꿔주고 콜백 함수로 obj 객체에 해당하는 값을 가져와서 대체한다.