[프로그래머스] 문자열 다루기 기본 자바스크립트

드엔트론프·2022년 9월 27일
0

알고리즘

목록 보기
1/5
post-custom-banner

문제 설명

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

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

  • 입출력 예

  • sreturn
    "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을 찾았고, 적용했고, 해결할 수 있었다.

profile
왜? 를 깊게 고민하고 해결하는 사람이 되고 싶은 개발자
post-custom-banner

0개의 댓글