코딩 테스트
[ 프로그래머스 ] JS - 문자열 다루기 기본
주연배
2024. 12. 13. 14:22
문제
풀이
이 문제의 조건은 크게 2가지로 나눌 수 있다.
1. 문자열(s)의 길이가 4 또는 6인가?
2. 문자열(s)이 숫자로만 구성 되어 있는가?
여기서 문자열이 숫자로만 구성 되어 있는가 이부분을 구하기 위해서 정규 표현식을 사용해서 문제를 해결해 보았다!
👉🏻 정규표현식
let s = 'a123'
let str = s.replace(/[^0-9]/g,''); // 숫자가 아닌것을 공백으로 바꿈 'a123' -> '123'
여기서 ^은 not(부정)을 뜻한다
let str = s.replace(/[^a-z]/g,'') // 영어가 아닌것을 공백으로 바꿈 'a123' ->'a'
결과
function solution(s) { let str = s.replace(/[^0-9]/g,'') return (str.length === 4 || str.length === 6) && s===str ? true : false; }
느낀점
사실 1학기 중간쯤에 이 문제에 도전했다가 포기했었던 기억이 있다. 그치만 이번에는 정규 표현식을 사용해서 비교적 쉽게 풀 수 있었다. 이 문제를 풀고나니 또 다른 정규 표현식을 더 공부해서 코딩테스트를 풀 때 유용하게 써 먹어야겠다는 생각이 든다!