1주 1알고리즘 문제 풀기👆
알고리즘을 github으로 풀다보니 블로그 정리가 안된것 같아 생각나면 하나씩 올려야 겠다!
1주 1알고리즘은 여전히 진행중이며 아래 스터디 레포에서 확인할 수 있다 🤗
스터디 레포
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
/**
*
* @param {*} 숫자문자열과 영단어
*/ //programmers.co.kr/learn/courses/30/lessons/81301
function solution(s) {
// 먼저 맵핑해줄 단어를 string:num으로 변수에 담아준다
const mappedNumber = {
zero: 0,
one: 1,
two: 2,
three: 3,
four: 4,
five: 5,
six: 6,
seven: 7,
eight: 8,
nine: 9,
};
let answer = "";
// '/gi'를 replace의 첫 인자로 넣어 전체에서 아래 단어를 replace할수 있도록 | 로 묶고, 두번째 인자로는 mappedNumber를 찾는 함수를 넣어주어 각 단어의 숫자형태로 replace 할수 있게 한다.
answer = s.replace(
/zero|one|two|three|four|five|six|seven|eight|nine/gi,
function (matched) {
return mappedNumber[matched];
}
);
// answer는 number type이어야 하므로 마지막에 변환해준다.
return answer * 1;
}