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

박기영·2022년 9월 12일
0

프로그래머스

목록 보기
14/159
post-custom-banner

solution

function solution(s) {
    let len = s.length;
    
    // 문자열의 길이가 4 or 6인지 판단
    if(len === 4 || len === 6){        
        // typeof를 통해 number 타입이 아니라면 false를 반환
        for(let i = 0; i < len; i++){        
            let ASCII = s[i].charCodeAt();
            
            // 대문자, 소문자일 경우 false를 반환
            if((ASCII >= 65 && ASCII <= 90) || (ASCII >= 97 && ASCII <= 122)){
                return false;
            }
        }
        
        // for문을 통과하면 모두 숫자인 것이므로 true 반환
        return true;
    }
    
    return false;
}

문자열이 섞여있으면 NaN을 반환하는 Number를 써보려고했으나
"0x11" 등과 같은 입력값이 들오면 다른 진수로 계산해서 출력하기 때문에 제대로 판단이 되지않았다.
또한, "0000" 같은 경우에는 0으로 출력되므로 false로 인식되어서 주의할 필요도 있었다.
그래서 가장 간편하게 아스키 코드 번호로 판별을 했다.
대문자 혹은 소문자 범위에 걸리면 false를 반환하고, 그 외에는 true를 반환한다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글