99Club
Posts

© 2025. woongsnote All rights reserved.

Beginner
2024-05-09

문자열 다루기

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수를 구현하기

#99일지#99클럽#TIL#개발자스터디#코딩테스트#항해
직접 풀러가기

문제 설명

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

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

입출력 예시

sreturn
"a234"false
"1234"true

풀이

문자열의 길이에 대한 확인과. 해당 문자열이 모두 숫자인지 확인해야 하므로, 정규 표현식을 활용해서 구현했다.

JavaScript

function validString(s) {
    // Regex to check the string has exactly 4 or 6 digits
    return /^\d{4}(\d{2})?$/.test(s);
}

정규식 설명

  • ^: 문자열의 시작 확인
  • \d{4}: 정확히 4자리 숫자와 일치
  • (\d{2})?: 정확히 두 자리 이상의 선택적 그룹과 일치
  • $: 문자열의 끝 확인

Python

import re

def solution(s):
    return bool(re.fullmatch(r'^\d{4}(\d{2})?$', s))
  • re.fullmatch(pattern, string): Python의 re 모듈에 있는 이 함수는 전체 문자열이 정규식 패턴과 일치하는지 확인
  • bool(): re.fullmatch()의 결과를 부울 값(True 또는 False)으로 변환하는 데 사용

정규 표현식을 사용하는 대신 아래와 같이 구현할 수도 있다.

def solution(s):
    return (len(s) == 4 or len(s) == 6) and s.isdigit()

Python의 isdigit()함수를 통해, 문자열 s의 모든 문자가 숫자인지 확인한다.