문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
첫 번째 풀이
function solution(s) {
var answer;
if(s.length === 4 || s.length === 6){
if(isNaN(s)){
answer = false;
} else {
answer = true;
}
} else {
answer = false;
}
return answer;
}
11번 째 테스트 케이스 값에서 에러가 발생
이유는 js에서 숫자에 e가 붙으면 지수로 인식하여 문자를 숫자로 인식하기 때문
pass한 풀이
function solution(s) {
if(s.length === 4 || s.length === 6){
return s.split("").every(c => !isNaN(c))
// 모든 요소가 number이면 true리턴
} else {
return false;
}
}
다른 사람의 풀이
function solution(s) {
return (s.length === 4 || s.length === 6) && s == parseInt(s)
}
**2023-06-01 리첵 완료