반응형
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
- s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s | return |
"a234" | false |
"1234" | true |
문제 풀이
1. s를 모두 소문자로 바꾼 후 문자열에 알파벳이 존재하지 않고 길이가 4 혹은 6일때 True를 반환한다.
import re
def solution(s):
a = "[a-z]"
return True if bool(re.findall(a,s.lower())) != True and (len(s) == 4 or len(s) == 6) else False
solution("1234")
다른 사람 문제 풀이
def alpha_string46(s):
return s.isdigit() and len(s) in (4, 6)
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( alpha_string46("a234") )
print( alpha_string46("1234") )
1. isdigit가 True일 때 길이가 4혹은 6이면 True 아니면 False를 반환한다.
생각 정리
문자열에서 숫자가 판별할때는 간단히 isdigit함수를 이용하면 됩니다.
'프로그래머스 > lv1' 카테고리의 다른 글
[12921] 소수 찾기 python3 (0) | 2022.08.28 |
---|---|
[12919] 서울에서 김서방 찾기 python3 (0) | 2022.08.28 |
[12917] 문자열 내림차순으로 배치하기 python3 (0) | 2022.08.28 |
[12916] 문자열 내 p와 y의 개수 python3 (0) | 2022.08.27 |
[12915] 문자열 내 마음대로 정렬하기 python3 (0) | 2022.08.27 |