DevSSOM

[프로그래머스 javaScript] level 1 - 문자열 다루기 기본 본문

문제 풀이/프로그래머스 javaScript

[프로그래머스 javaScript] level 1 - 문자열 다루기 기본

데브쏨 2021. 7. 18. 22:38
반응형

문제

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

 

제한 사항

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

 

입출력 예

s return
"a234" false
"1234" true

 

기본 코드

function solution(s) {
    var answer = true;
    return answer;
}

 


풀이 1

function solution(s) {
    if(s.length != 4 && s.length != 6) return false;
        for(var i = 0; i < s.length; i++) {
            if(isNaN(Number(s[i]))) return false;
        }
    return true;
}

풀이 2

function solution(s) {
    let answer = true;
    
    if (s.length === 4 || s.length === 6) {
        for (let letter = 0; letter < s.length; letter++) {
            if (isNaN(s[letter]) || letter === " ") {
                return false;
            } 
        }
        return true;
    }
    return false;
}

isNaN('');   // 거짓: 빈 문자열은 NaN이 아닌 0으로 변환. false 리턴
isNaN(' ');   // 거짓: 공백이 있는 문자열은 NaN이 아닌 0으로 변환. false 리턴

 

위의 이유 때문에 아래 조건이 달림

if (isNaN(s[letter]) || letter === " ")



728x90
반응형
댓글