문제

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요.

예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.

예제

내 답변

고려해야할 사항

  1. s.length가 4 혹은 6일 때
  2. 문자열 + 숫자 일 때는 false, 숫자일 때는 true일 때
function solution(s) {
    if( s.length === 4 || s.length === 6) {
        return !(/[a-zA-Z]/i.test(s));
     }

    return false;
};

다른 사람 답변

function solution(s){
  var regex = /^\\d{6}$|^\\d{4}$/;
  return regex.test(s);
};

정규식으로 s.length가 4글자 or 6글자만 가능하고,

문자열이나 특수문자는 무조건 false로 떨어지게 만들어서 숫자만 가능하도록 표현한게 보였다.

function solution(s){
  var result = false;
  if((s.length == 4 || s.length == 6) && /^[0-9]+$/.test(s)) {
    result = true;
  }

  return result;
};

if 조건식 부분에서 s.length가 4글자 혹은 6글자만 가능하고, 숫자만 가능하다고 표현하여

한 눈에 알아보기 편하다.