[프로그래머스] 문자열 다루기 기본(Javascript)

조아영·2024년 7월 1일

📕 문제

문제설명

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

제한조건

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

입출력 예

sreturn
"a234"false
"1234"true

🤔 고민과정

  • 테스트 코드 실행은 통과하지만 채점에서는 오답이 나온다 이유가 뭘까?
    ▶ e가 포함될 경우 지수 표기법으로 인식하여 문자인 경우에도 숫자로 인식한다고 한다. 반복문을 이용해 글자 하나하나 체크해서 숫자가 아닐 경우 false를 리턴하게 변경하자.

✅ 결과물

function solution(s) {
    if(s.length === 4 || s.length === 6) {
        for(let i = 0; i < s.length; i++) {
            if(isNaN(s[i])) return false;
        }
        return true;
    }
    return false;
}
function solution(s) {
    var regex = /^\d{6}$|^\d{4}$/;

    return regex.test(s);
}

찾아보니 정규 표현식 풀이를 발견하게 되었다. 훨씬 간단해보이니 공부해보자.
🔗 정규표현식(Regular Expression)

0개의 댓글