[프로그래머스][LV.1] 문자열 다루기 기본 | python3

2025. 1. 17. 18:46프로그래머스/LV.1

 

문제 링크: 문자열 다루기 기본

 

문제 설명

문제 설명

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

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

 


문제 풀이

처음에는 isdigit() 대신 isalpha()를 썼는데 하나만 알파벳이면 True가 나오는 게 아닌듯

 

내코드

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

 

 


더보기

다른사람풀이

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

전부 숫자로 이루어저 있고 문자열 s의 길이가 4나 6이면 True 리터, 아니면 False 리턴

def alpha_string46(s):
    try:
        int(s)
    except:
        return False
    return len(s) == 4 or len(s) == 6

try를 이용하여 정수로 변환하는데 예외가 발생하면 False를 반환.

논리연산자를 이용하여 문자열의 길이가 4나 6이 아니면 False를 반환하고

그 외에는 True 반환