문자열 다루기 기본

RyuIsangGo🤘·2023년 8월 21일
0

문제

나의코드

const solution = (s) => {
    const strLength = s.length;
    const allNumberBoolean = [...s].filter((x) => Number.isInteger(Number(x))).length === s.length;
    return allNumberBoolean && (strLength === 4 || strLength === 6);
}

로직흐름

모든 요소가 숫자로 되어있는지 판별하기
1. 구조분해 할당해서 모든 요소를 배열에 하나씩 넣는다.
2. filter메소드를 이용해서 해당 요소를 숫자로 만들고 이 값이 정수인것만 뽑아낸 뒤 이것의 개수를 구한다.
3. 2에서 구한 개수가 원시 문자열의 길이와 동일하다면, 모든 요소가 숫자로 되어있는 것이다.

참고로 곧바로 Number.isInteger(Number(s))로 하면 안되는 반례가
10e1이다. 따라서 모든 요소 각 한글자씩을 확인해봐야 한다.

profile
이전 블로그 입니다.

0개의 댓글