[JavaScript] [Programmers] 숫자 문자열과 영단어(81301)

긍정왕·2021년 8월 10일
1

Algorithm

목록 보기
66/69
post-thumbnail

💡 문제 해결



🧾 문제 설명

네오와 프로도가 숫자놀이를 하고 있습니다. 
네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. 
s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.

참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.


문제보기



🖨 입출력



📝 풀이

const number = /[0-9]/;
const dictionary = {
    "zero": '0',
    "one": '1',
    "two": '2',
    "three": '3',
    "four": '4',
    "five": '5',
    "six": '6',
    "seven": '7',
    "eight": '8',
    "nine": '9',
}



function solution(s) {
    var answer = 0;

    answer = '';
    let tmp = '';
    for (let string of s) {
        if (number.test(string)) {
            answer += string;
        } else {
            tmp += string;
            if (dictionary[tmp]) {
                answer += dictionary[tmp];
                tmp = '';
            }
        }
    }

    return Number(answer);
}

profile
Impossible + 땀 한방울 == I'm possible

0개의 댓글