[ JS 코딩테스트 ] 문자열 다루기 기본
포스트
취소

[ JS 코딩테스트 ] 문자열 다루기 기본

문제 설명

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

제한 사항

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

sreturn
“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’에서 e10의 거듭 제곱 이라고 하네요.(2e3 ==== 2000) 그것도 모르고 삽질만 계속했습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.