티스토리 뷰
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
'알고리즘 > 문제 풀이' 카테고리의 다른 글
[프로그래머스] 표 편집 (Javascript, 2021 카카오 채용연계형 인턴십) (1) | 2021.07.12 |
---|---|
[프로그래머스] 거리두기 확인하기 (Javascript, 2021 카카오 채용연계형 인턴십) (0) | 2021.07.12 |
[BOJ] 백준 20056 - 마법사 상어와 파이어볼 (2) | 2021.06.28 |
[BOJ] 백준 21874 - 모자 게임 (2021 연세대학교 신입생 프로그래밍 경진대회) (2) | 2021.06.13 |
[BOJ] 백준 21873 - 개구리 징검다리 건너기 (Javascript, 2021 연세대학교 신입생 프로그래밍 경진대회) (4) | 2021.06.13 |
댓글