React

211210_금 L1 숫자 문자열과 영단어

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
복사