문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
for(let i = 0; i < s.length; i++)
을 사용하여 문자열에 숫자이외에 문자가 있는지 검색하려고 했으나,
1. 문자가 존재하는지 어떻게 판별하는지 모름
2. 자바스크립트는 e를 지수로 사용하기 때문에 '8.8e+2'와 같이 e가 들어간 문자열도 숫자로 평가하는 것을 전혀 몰랐음.
function solution(s) {
if(s.length == 4 || s.length == 6){
//문자열의 길이가 4 또는 6일 때
if (s.includes('e')) return false;
// 만약 e를 포함하고 있으면 false 리턴
return !isNaN(s);
// NaN이 아닐때, 즉 숫자로만 이루어져 있을 때는 true 반환
}else return false;
// 위의 경우가 아닐 때는 모두 false 리턴
}
isNaN()
: Not A Number. 매개변수가 숫자인지 검사하는 함수. 주어진 값이 NaN이면 true
, 아니면 false
.return
값은 한 번만 쓸 수 있는 줄 알았는데, 아니었다!return
: 함수 종료break
: 그 다음 문으로 프로그램 제어를 넘긴다.문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12918