[프로그래머스] 문자열 다루기 기본 in JavaScript

hyocho·2022년 6월 23일
0

코딩테스트

목록 보기
22/45

✅문제

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

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

✍문제풀이

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 리턴
}

📝TIL

  • isNaN() : Not A Number. 매개변수가 숫자인지 검사하는 함수. 주어진 값이 NaN이면 true, 아니면 false.
  • return값은 한 번만 쓸 수 있는 줄 알았는데, 아니었다!
    return : 함수 종료
    break : 그 다음 문으로 프로그램 제어를 넘긴다.

문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12918

profile
기록하는 습관을 기르고 있습니다.

0개의 댓글