프로그래머스: 문자열 다루기 기본

(문제링크)

문제

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

제한사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

sreturn
"a234"false
"1234"true

풀이

s의 길이가 4 혹은 6이 아니거나 숫자로만 구성되어 있지 않다면 false를 반환한다.

숫자로만 구성되어 있는지 확인하기 위해서 String.match 을 사용했다.

정규표현식 /[^0-9]/g 의 의미

  • 정규표현식은 / /로 감싸준다.
  • [0-9] 는 숫자만 찾는다.
  • [^0-9] 는 숫자만 빼고 해당되는 것을 찾는다. 앞에 ^ 를 붙이면 제외를 의미하게 된다.
  • 뒤에 g를 써준다면 문자열 중 해당하는 모든 결과를 가져온다는 의미다.
    g가 아니라면 해당하는 결과를 하나만 찾고 끝낼 수도 있다.
  • 따라서, 숫자가 아닌 모든 문자를 찾아내는 정규표현식이다.

소스코드

function solution(s) {
    if (s.length !== 4 && s.length !==6) return false;
    if (s.match(/[^0-9]/g)) return false;
    
    return true;
}

좋은 웹페이지 즐겨찾기