231218 TIL

chillakilla·2023년 12월 19일

문자열 다루기 기본

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

입출력 예

솔루션 코드

<script>
function solution(s) {
  if (s.length === 4 || s.length === 6) {
    answer = /^[0-9]+$/.test(s);
    // 입력받은 s가 처음(^)부터 +끝($)까지 [0-9] 사이의 숫자로 이루어져있는지 확인
  } else {
    answer = false;
  }

  return answer;
}
</script>
  • 먼저 입력 받은 문자열 s 의 길이가 4 혹은 6인지 확인한 후,
  • 정규식을 사용해 문자열 s 의 처음(^)부터 끝($)까지 [0-9]사이의 숫자로 이루어져있는지 확인
  • 조건에 모두 해당하면 true 를 반환하고 그게 아니라면 false 를 반환

다른 사람 풀이

<script>
function solution(s) {
  return (
    s.replace(/[0-9]/g, "")
    .length === 0 && (s.length === 4 || s.length === 6)
  );
}
</script>

정규식?

정규식("regex")은 연속적인 문자들을 검색하는 제어하는 방법입니다.

정규식은 다양한 언어에서 구현되지만, 펄 스크립트 언어에서 가장 잘 구현되어 있으며, 이는 PCRE ("Perl Compatible Regular Expression")라고 불리는 자체 문법 체계를 구현했습니다.
웹에서, JavaScript는 RegExp 객체를 통해 또다른 정규 표현식 문법을 제공합니다.
<출처 : MDN docs>

profile
꾸준하려 하는 쉽덕놈

0개의 댓글