본문 바로가기
Engineering WIKI/Programmers

[프로그래머스] 문자열 다루기 기본

by wonos 2022. 4. 15.
 

코딩테스트 연습 - 문자열 다루기 기본

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

programmers.co.kr

 

내 풀이

def solution(s):
    answer = False
    if (len(s) == 4 or len(s) == 6) and s.isdigit():
        return True
    
    return answer

 

다른방법 1

def alpha_string46(s):
    return s.isdigit() and len(s) in (4, 6)

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( alpha_string46("a234") )
print( alpha_string46("1234") )

다른방법 2

^와 $는 문자열의 처음과 끝을 의미합니다. \d는 숫자를 의미하구요, {4}|{6}은 숫자가 4번 혹은 6번 반복되는 것을 찾는 거구요, 결과를 bool로 true/false로 리턴하게 하는 코드입니다

def alpha_string46(s):
    import re
    return bool(re.match("^(\d{4}|\d{6})$", s))


# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( alpha_string46("a234") )
print( alpha_string46("1234") )