문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s는 길이 1이상, 길이 8이하인 문자열입니다.
문자열이 4글자 또는 6글자인지 검사 후 해당 문자열을 구성하는 요소 중 숫자가 아닌 문자가 있는지 검사하였다.
function solution(s) {
const len = s.length;
return (len === 4 || len === 6) && (s.split('').find(ch => isNaN(ch) === true) === undefined);
}
문자열 전체를 숫자로 변환해서 isNaN함수로 검사하려고했는데 테스트3번에서 실패가 떴다.
다시 생각해보니 parseInt(1.2) => 1 로 변환된다.
해당 문자는 문자열이 "숫자로만" 구성되어있는지를 판단하는 문제이므로 위와 같이 푸는 것이 맞는 답안이다.
function solution(s) {
const len = s.length;
return (len === 4 || len === 6) && !isNaN(parseInt(s));
}