Algorithm - 문자열 다루기 기본

문제 설명

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

제한사항

s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

sreturn
'a234'false
'1234'true

나의 풀이 1

function solution (s) {
        return (s.length === 4 || s.length === 6) && isNaN(s) === false ? true : false
}

풀이1 설명

문제를 보고 굉장히 간단하다고 생각하고 쉽게 접근했다.
설명에 나온 그대로 삼항연산자로 풀이했더니 16개의 테스트 중 하나를 통과 못하는 일이 벌어졌다!

나의 풀이 2

function solution (s) {
        return (s.length === 4 || s.length === 6) && /^[0-9]+$/.test(s) ? true : false
}

풀이2 설명

테스트에 왜 통과하지 못했는지 알아보니 소수점때문이란다.
정규식을 사용해야 한다는 걸 보고 처음엔 /^[/d]+$/ 이렇게 숫자만 포함하는 정규식으로 사용했다가 제한사항에 s는 문자열이라는 걸 보고 다시 수정!

느낀 점

기업협업에서 테스트코드 작성해본다고 나름 정규식 공부를 했었는데.. 실전에 써먹으려면 아직 한참 공부해야겠다..!

좋은 웹페이지 즐겨찾기