프로그래머스 1단계

원동휘·2022년 9월 24일
0

프로그래머스

목록 보기
24/46

< 문제 >

풀이

  • isNaN을 이용해 문자/숫자 구분하는 방법으로 풀이를 풀었지만 최종테스트에서 실패했고 실패 이유는 지수표기법때문이었다. ex)'123e' -> isNaN으로는 e를 문자로 인식하지않고 숫자로 인식하는 문제가 발생
    그래서 생각한건 1.반복돌면서 모든 범위를 아스키코드 숫자범위에 모두 해당되는지 체크 or 2.숫자인지 아닌지 체크하는 정규식을 생각했는데 숫자인지 아닌지 판별하는 정규식은 매우 간단하므로 정규식을 이용해 문자를 모두 빈문자로 바꾸고 바꾼 길이와 기존의 문자열의 길이를 비교해 판별한 풀이
function solution(s) {
  const replacedString = s.replace(/\D/g, '');
  return (s.length === 4 || s.length === 6) && replacedString.length === s.length;
}

console.log(solution('a234c'));
console.log(solution('1234'));
console.log(solution('123e'));
profile
Front-End Developer #Nextjs #React #Typescript

0개의 댓글