문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s | return |
---|---|
"a234" | false |
"1234" | true |
function solution(s) {
for(let i = 0; i < s.length; i++){
if (isNaN(Number(s[i]))) {
return false;
}
}
return (s.length === 4 || s.length === 6) ? true : false
}
크게 두 가지 조건을 충족시켜야 한다.
1. 길이가 4 or 6인지?
2. 숫자로만 구성되어있는지?
처음 이 문제에서 헤맸던 이유는 isNaN 때문이었다.
isNaN 함수는 어떤 값이 NaN인지 판별하는 친구인데, 난 for문을 돌며 i번째에 Number만 적용하면 될 줄 알았다. 계속 Number(s[i]) 가 true가 나오니 답답해 미칠지경..
Mozila - isNaN
계속 구글링하다 isNaN을 찾았고, 적용했고, 해결할 수 있었다.