🍀 코딩 테스트/프로그래머스

LV1 - 문자열 다루기 기본

놀러와요 버그의 숲 2022. 7. 16. 00:21
728x90
반응형

 

1차풀이 => 실패

function solution(s) {
    if (s.length === 4 || 6) {
  if (isNaN(s) === false) {
    return true;
  }
  return false;
}
return false;
}

 

 

2차풀이 => 실패 

function solution(s) {
 if (s.length === 4 || 6) {
  if (isNaN(s) === false) {
    return true
  } else {
    return false
  }
} else {
  return false
}
}

=> 지금 생각해보니 s.length === 4 || s.length ===6 이라고 썼어야 하는데... 바보 같다. 

 

 

3차풀이 => 실패

function solution(s) {
 if (s.length === 4 || s.length === 6) {
  if (isNaN(s) === false) {
    return true
  } else {
    return false
  }
} else {
  return false
}
}

isNaN에서 뭔가 문제가 생긴 듯하다. 

 

 

 

4차풀이 => 성공

function solution(s) {

 if (s.length === 4 || s.length === 6) {
  if (s.match(/^[0-9]+$/) != null) {
    return true
  } else {
    return false
  }
} else {
  return false
}
}

정규 표현식을 이용해서 해결했다.

왜 isNaN을 썼을 때 테스트 5번이 안되었는지 검색해봐야겠다.