문제 설명
r, e, v 뒤에 나오는 값을 더하여 나온 최종 숫자에서 앞자리를 월로 뒷자리를 일로 출력
r, e, v 뒤에 나오는 숫자는 1부터 10까지입니다. 이를 넘어가는 숫자가 나올 경우 앞 숫자만 뽑아냅니다.
문자열: adr10bb1d9ia10e33b7u88k3j1a3v11v9
나의 풀이
function solution(data){
// match()를 통해서 정규식으로 원하는 값 추출
// [rev]: "r", "e", "v" 중 하나의 문자
// 10 or 0 ~ 9 사이의 숫자
data = data.match(/[rev](10|[0-9])/g)
// 예상 값 -> ['r10', 'e3', 'v2', 'v1', 'v9']
let result = 0;
for(let i of data){
result += +i.slice(1,i.length); // result에 배열 요소의 1부터 length-1까지 slice한 값을 더함
}
result = result.toString();
return `${result[0]}월 ${result[1]}일`;
}
느낀 점
정규식을 통해서 문제를 푸니까 정말 간결하고 편한 것 같습니다.
매번 정규식은 인터넷 검색이나 chat gpt를 통해서 도움 받았었는데 의미를 알게 되니 앞으로는 제 생각으로 정규식을 작성할 수 있을 것 같습니다.
'지식 정리 📝' 카테고리의 다른 글
웹 브라우저 페이지 이동으로 들어왔는지, 새로고침으로 들어왔는지 구분하는 법 With React & TypeScript (0) | 2024.07.17 |
---|---|
크로스브라우징(Cross Browsing) - iOS 환경에서 키보드가 화면을 가리는 문제 해결 (0) | 2024.06.20 |
[Git] Commit Convention을 통한 개인프로젝트 관리 (0) | 2024.03.13 |
Next.Js의 SSR 방식으로 인해서 생긴 500 Error 해결 법 (0) | 2024.03.10 |
SPA(Single Page Application)페이지 SEO 최적화 With React Helmet (0) | 2024.03.08 |