문제

코드
function solution(s) {
const word = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
for(let i=0; i<word.length; i++) {
const reg = new RegExp(word[i], 'g');
s = s.replace(reg, i.toString())
}
for(let i=0; i< numbers.length; i++) {
let arr = s.split(numbers[i]);
s = arr.join(i);
}
return Number(s);
}
replace에 RegExp로 변수 넣기
- replace(/ /)에는 변수가 들어갈 수 없다. 따라서 RegExp로 새로운 정규식을 생성해 주고 replace에 넣어준다.
- new RegExp(변수 혹은 직접 문자열 넣기, 'gi 등 조건 넣기')
- replace에 / / 없이 바로 (reg, 원하는 문자열)
- i가 숫자이기 때문에 toString으로 문자열 교체
split과 join을 이용한 풀이
- split으로 영단어 만나면 분리 후 join에 해당 숫자를 넣어 합치기
참고 사이트