2020. 4. 28. 12:50

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

문제 설명


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

 

제한 사항


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

 

문제 풀이


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

s의 문자열의 길이가 4또는 6일 때 isdigit함수로 해당하는 문자열이 숫자인지 아닌지 검사한 후 숫자면 True 아니면 False를 리턴해준다.

isdigit은 해당하는 문자열이 숫자인지 아닌지를 판별하는 함수, 반대로 영어 혹은 한글로 되어있는지를 확인하려면 isalpha()를 사용하면 된다.

 

다른 풀이


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

내가 한 것이랑 방식은 같지만 좀더 깔끔한 버전

len(s)의 값이 리스트 4,5에 포함되어 있나라는 코드라서 4또는 6이 된다.