개발하는 무민

[프로그래머스-Level1] 문자열 다루기 기본_JavaScript + 정규표현식 본문

Algorithm/Programmers

[프로그래머스-Level1] 문자열 다루기 기본_JavaScript + 정규표현식

무민_ 2022. 8. 16. 13:01

문자열 다루기 기본

문제 설명

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.

 
제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
 
입출력 예
s                                 return
"a234" false
"1234" true

 

풀이

// 정규 표현식 사용하기
// /\d{6}/: 6자리 숫자 포함
// /^\d{6}/: 6자리 숫자로 시작
// /\d{6}$/: 6자리 숫자로 끝
// /^\d{6}$/: 6자리 숫자
// /^\d{6}$|^\d{4}$/: 6자리 숫자 또는 4자리 숫자

function solution(s) {
    let answer = /^\d{6}$|^\d{4}$/; //정규표현식은 /슬래시로 감싸서 표현
    return answer.test(s);
}

 

정규표현식

- ^ : 입력의 시작 부분에 대응
- $ : 입력의 끝 부분과 대응
- \d : 숫자 문자에 대응된다. 0-9와 동일
- | : or로 사용

 

{n} 이런 식으로 {} 중괄호 안에 양의 정수를 넣어서 앞의 표현식이 n번 나타나는 부분에 대응된다.
이 문제에서는 문자열 s의 길이가(숫자) 4 혹은 6인지 판단하는데 사용했다.


- test() : 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 혹은 false로 반환한다.
이를 통해 주어진 문자열의 길이가 4이거나 6인 숫자인지를 검사하는 정규표현식을 만들 수 있다.

 

참고 :https://jaypedia.tistory.com/50