My solution
nums에 인덱스에 대응하는 문자열을 담아둔다.
for문을 돌면서 i에 맞는 배열의 값을 꺼내와서 그대로 new RegExp에 넣어서 정규표현식 객체를 만든다음 그걸로 replace에서 찾는다.
소스코드
function solution(input) {
const nums = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
let str = input;
for (let i = 0; i < nums.length; i++) {
str = str.replace(new RegExp(nums[i], 'g'), i);
}
return +str;
}
test('TC1', () => {
expect(solution('one4seveneight')).toStrictEqual(1478);
});
test('TC2', () => {
expect(solution('23four5six7')).toStrictEqual(234567);
});
test('TC3', () => {
expect(solution('2three45sixseven')).toStrictEqual(234567);
});
test('TC4', () => {
expect(solution('123')).toStrictEqual(123);
});
JavaScript
복사