프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2021 카카오 채용연계형 인턴십 문제로 나왔던 문제인 거 같다. 난이도로 봐서는 제일 쉬운 문제...
문제를 간단하게 말하면 one4seveneight라는 문자열이 들어오면 1478의 숫자로 반환하는 문제이다. 파이썬으로 풀었으면 정말 간단하게 replaceAll을 활용해서 풀었을 것이다. 여기서 생각이 나서 정규식을 활용해서 문제를 풀었다.
const solution = (s) => {
const words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
words.forEach((item, idx) => {
const regex = new RegExp(item, 'g');
s = s.replace(regex, idx.toString());
});
return Number(s);
}
처음에는 RegExp를 쓰지않고 replace에 그냥 때려 박아서 왜 안 되는 건지 잘 몰랐다. 그래서 정규식에 대해서 검색을 해보고 문제를 풀 수 있었다. 조만간 JS 정규식에 대해서 좀 정리해서 블로그에 써봐야겠다.
'PS > 프로그래머스' 카테고리의 다른 글
Lv0 l로 만들기 (0) | 2024.04.11 |
---|---|
Lv0 조건에 맞게 수열 변환하기 3 (0) | 2024.04.11 |
Lv1 3진법 뒤집기 (0) | 2023.12.21 |
Lv1 문자열 다루기 기본 (0) | 2023.12.21 |
Lv0 OX퀴즈 (0) | 2023.07.17 |