개발자 되는 법.../코딩테스트...

[JS] 숫자 문자열과 영단어

개발_자 2024. 7. 10. 14:59

 

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

 

 

.replace()

string.replace(searchValue, newValue);

 

문자열 내에서 특정 부분을 다른 문자열로 대체할 때 사용되는 메서드

원본 문자열을 변경하지 않고,변환된 새로운 문자열을 반환

`string`: 대체 작업을 수행할 문자열

`searchValue`: 대체할 대상(문자열 또는 정규 표현식)

`newValue`: 대체할 새로운 문자열

 

    s = s.replace(/zero/g, 0);

 

/zero/g: 문자열 내의 모든 "zero"을 찾기 위해 정규 표현식과 전역 플래그(`g`)를 사용

0으로 대체

 

 


 

 

다른 사람 풀이

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]);
        answer = arr.join(i);
    }

    return Number(answer);
}