본문 바로가기

프로그래머스/JavaScript

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

- 문자열 s의 길이가 4 혹은 6

- 숫자로만 구성

- s는 길이 1 이상, 길이 8 이하인 문자열

 

 

초기 코드

숫자를 체크하기 위해서 문자열을 한번 숫자들과 대조하여 체크했었다.

function solution(s) {
    var answer = '';

    if (s.length == 4 || s.length == 6) { // 문자열의 길이가 4혹은 6
        for (var i = 0; i < s.length; i++) { // 문자열의 길이 만큼 체크
            if (s[i] >= 0 && s[i] <= 9) { // 0에서 9사이의 숫자가 맞는지 확인
                answer = true;
            } else { // 0에서 9사이의 숫자가 아님
                answer = false;
                break;
            }
        }
    } else { // 문자열의 길이가 4혹은 6이 아님
        answer = false;
    }

    return answer;
}

 

최종 코드

숫자 체크하는 방법을

match를 사용하여 정규식으로 표현하는 방법으로 변경하였다.

function solution(s) {
    let answer = false;
    
    if(s.length == 4 || s.length == 6) { // 문자열의 길이가 4 혹은 6
        answer = s.match(/\D/gi) == null ? true : false; // 모두 숫자인지 확인
    }
    
    return answer;
}