✏️기록하는 즐거움
article thumbnail

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

|  제출

function solution(s) {
  return !s.includes("e") && !isNaN(s) && (s.length === 4 || s.length === 6);
}

 

|  풀이과정

문자열 s의 길이를 판별하는 것은 length를 통해 쉽게 비교할 수 있다.

숫자로 구성돼있는지 확인하기 위해서는 isNaN을 사용하면 된다. 만약, 문자열에 알파벳이 들어있다면 숫자형으로 변환했을 때 NaN이기 때문에 isNaN은 true를 반환한다.

 

추가로 생각해주어야 할 것은 지수 표기법이다. 예를 들어, 12e3은 12의 3제곱을 지수 표기법을 사용하여 표현한 것이므로 숫자로 변환했을 때 NaN이 되지 않는다. 따라서 문자열이 e를 포함했을 때에도 false를 출력하게 조건을 추가한다.

 

|  개념

String.prototype.includes()

  • 문자열이 특정 문자열을 포함하고 있는지에 따라 true, false로 반환한다.

isNaN()

  • 주어진 값이 NaN이면 true, 아니면 false를 반환한다.

 

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!