티스토리 뷰

728x90

문제 링크

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

풀이

정규표현식을 이용하면 됩니다.

사실 원래는 정규표현식 없이 String.prototype.replaceAll()을 사용하려 했는데, replaceAll() 자체가 ES2021 완전 최신 문법이기도 하고, 프로그래머스의 Node.js 버전이 12 버전이라 완전 최신 문법을 지원 안 해줘서 정규 표현식의 'g' 플래그를 이용하여 해결했습니다.

 

 

정답 코드

const digit2word = ['zero','one','two','three','four','five','six','seven', 'eight','nine']
function solution(s) {
    return Number(digit2word.reduce((ans, word, digit) => ans.replace(new RegExp(word, 'g'), digit), s));
}
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함