문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 “a234”이면 False를 리턴하고 “1234”라면 True를 리턴하면 됩니다.
제한 사항
s | return |
---|---|
“a234” | false |
“1234” | true |
풀이
1
2
3
4
5
6
7
8
9
10
const solution = (s) => {
// A부터 Z까지 대소문자 가리지 않고 찾을 정규식
let reg = /[a-zA-Z]/g;
// A부터 Z까지 한문장이라도 있으면 false를 리턴
if (s.search(reg) !== -1) {
return false;
}
// 문자가 없는걸 if문으로 확인했으니 문자열의 길이가 4이거나 6이 아닐경우 false 맞으면 true를 리턴
return s.length === 4 || s.length === 6 ? true : false;
};
후기
간단하게 생각하고
Number()
를 사용했는데 계속 정답이 아니라고 나와서 구글에 찾아보니 ‘12e3’에서e
는10의 거듭 제곱
이라고 하네요.(2e3 ==== 2000)
그것도 모르고 삽질만 계속했습니다.