#1. 문자열 다루기 기본

 

문제 설명

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

 

제한조건

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

 

입출력 예

s return
"a234" false
"1234" true

 

풀이

function solution(s) {
  // 파라미터로 받은 값의 길이가 4 또는 6이 아니면 false 반환
  if(s.length !== 4 && s.length !== 6) return false;
  
  // split 함수를 사용하여 문자열을 배열로 변환
  const check = s.split('');
  // 0부터 배열의 길이까지 반복문을 돌면서
  for(let i = 0; i < check.length; i++) {
    // NaN이 확인되면 false 반환
    if(isNaN(check[i])) return false
  }
  // 문제가 없다면 true를 반환
  return true;
}

// 호출
solution("1234");  // true
solution("a234");  // false
solution("1e00");  // false

 

결과

 

소감

isNaN 함수는 파라미터로 전달 된 값이 숫자가 아닌경우 true, 숫자일 경우 false를 반환합니다.

숫자로 변환 가능한 형식일 경우 false를 반환합니다. 즉, NaN이 아니기 때문에 false를 반환하고, 숫자로 변경 가능함을 알려줍니다.

NaN은 비교연산자(==, ===)를 사용해서 판별 할 수 없기 때문에 isNaN 함수를 사용합니다.

+ Recent posts