본문 바로가기
코딩 테스트

[ 프로그래머스 ] JS - 문자열 다루기 기본

by 주연배 2024. 12. 13.

문제

 

풀이

이 문제의 조건은 크게 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학기 중간쯤에 이 문제에 도전했다가 포기했었던 기억이 있다. 그치만 이번에는 정규 표현식을 사용해서 비교적 쉽게 풀 수 있었다. 이 문제를 풀고나니 또 다른 정규 표현식을 더 공부해서 코딩테스트를 풀 때 유용하게 써 먹어야겠다는 생각이 든다!