반응형
[문제]
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
-
s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s |
return |
a234 |
false |
1234 |
true |
[1차 풀이]
- 먼저 자리수를 체크하고 스트링 하나 하나를 숫자인지 점검을 했다.
- 하지만 문자 그대로 s.isnumeric() 을 사용하더라도 같은 결과가 나왔다.
def solution(s):
if len(s) != 6 and len(s) != 4:
return False
for c in s:
if not(c.isnumeric()):
return False
return True
[2차 풀이]
- if and 문도 간단하게 in을 이용하여 조건을 만들 수 있다.
- isnumeric()대신 isdigit()을 사용한 이유는 ½ 와 같은 문자가 들어간 숫자 값도 isnumeric의 경우엔 True로 반환하기 때문에,
오직 숫자로만 구성되었는지 확인하기 위해 isdigit()을 이용하였다.
def solution(s):
return len(s) in [4,6] and s.isdigit()
[링크]
반응형
'Python' 카테고리의 다른 글
[Python/프로그래머스] 12921_소수 찾기 ★★★ (0) | 2020.03.29 |
---|---|
[Python/프로그래머스] 12919_서울에서 김서방 찾기 - '{}'.foramt() (0) | 2020.03.29 |
[Python/프로그래머스] 12917_문자열 내림차순으로 배치하기 - ''.join (0) | 2020.03.29 |
[Python/프로그래머스] 12916_문자열 내 p와 y의 개수 - string.count() (0) | 2020.03.29 |
[Python/프로그래머스] 12915_문자열 내 마음대로 정렬하기 - sorted( ,key = lambda ) (0) | 2020.03.28 |