문제
풀이
그냥 읽고 풀면되니까 어려울 것 하나 없다 생각하고
문자열 내장 메서드인 replaceAll를 사용해서 문자열을 치환한 뒤에 Number메서드를 이용하여 정수 형태로 반환하는 코드를 작성했다
ide에서는 잘 동작하는데 프로그래머스에서는 replaceAll을 지원하지 않아 에러를 뱉길래 그것만 고쳐주니 통과했다
코드
function solution(s) {
const words = {
0:'zero',
1:'one',
2:'two',
3:'three',
4:'four',
5:'five',
6:'six',
7:'seven',
8:'eight',
9:'nine'
}
for(let i=0; i<=9;i++){
const regExp = new RegExp(`${words[i]}`,'g');
s = s.replace(regExp,i.toString());
}
return Number(s);
}
const regExp = new RegExp(${words[i]}
,'g');
replaceAll 메서드를 사용할 수 없기 때문에 문자열 전체를 탐색하는 g 옵션이 포함된 정규표현식을 만들어주는 코드다
words[i]
반복문 안에 있는 words[i]
는 배열 원소에 접근하는 것 처럼 착각하기 쉽지만 객체의 key에 접근하는 것
'Algorithm > 문제' 카테고리의 다른 글
baekjoon. 줄 세우기 (0) | 2021.08.17 |
---|---|
programmers. 거리두기 확인하기 (0) | 2021.07.11 |
baekjoon. 공유기 설치 (0) | 2021.07.07 |
baekjoon. 수 찾기 (0) | 2021.07.06 |
programmers. 쿼드압축 후 개수 세기 (0) | 2021.07.05 |