문제
풀이
이 문제의 조건은 크게 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학기 중간쯤에 이 문제에 도전했다가 포기했었던 기억이 있다. 그치만 이번에는 정규 표현식을 사용해서 비교적 쉽게 풀 수 있었다. 이 문제를 풀고나니 또 다른 정규 표현식을 더 공부해서 코딩테스트를 풀 때 유용하게 써 먹어야겠다는 생각이 든다!
'코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] JS - 두 개 뽑아서 더하기 (0) | 2024.08.16 |
---|---|
[ 프로그래머스 ] JS - 나머지가 1이 되는 수 찾기 (0) | 2024.07.20 |
[ 프로그래머스 ] MYSQL - 경기도에 위치한 식품창고 목록 출력하기 (0) | 2024.07.20 |
[ 프로그래머스 ] 파이썬 - 배열 만들기 (0) | 2024.06.30 |
[ 프로그래머스 ] 문자열 뒤집기 (0) | 2024.06.02 |