코딩테스트 연습 - 문자열 다루기 기본
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이��
programmers.co.kr
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
s | return |
"a234" | false |
"1234" | true |
1
2
3
4
5
|
def solution(s):
answer = False
if s.isnumeric():
answer = True
return answer and (len(s) == 4 or len(s) == 6)
|
cs |
answer를 False로 설정하고 입력받은 s를 isnumeric() 함수로 검사해서 숫자로 이루어져 있으면 answer를 True로 바꾼다. 그리고 answer가 참이고 길이가 4 혹은 6일 경우에만 True를 리턴하게 설정합니다.
간단하게 isnumeric() 함수를 설명하자면, isnumeric() 함수는 문자열이 숫자로 구성되어 있는지 판별해주는 함수입니다. 문자열의 모든 문자가 숫자일 때 True를 반환하고 그렇지 않으면 False를 반환한다. isdigit()과 유사하지만 차이가 있다.
isdigit()은 단일 글자가 '숫자' 모양으로 생겼으면 True를 리턴하지만 isnumeric()은 숫자값 표현에 해당하는 텍스트 까지 인정한다. 즉 숫자로 된 특수문자 형식도 인정한다.
1
2
|
def solution(s):
return s.isnumeric() and (len(s) == 4 or len(s) == 6)
|
cs |
코드를 더 줄일 수 있지 않을까 고민하던 중 s.isnumeric() 자체가 True/False를 리턴한다는 것을 깨닫고 기존의 answer들을 지우고 곧바로 return에 넣었고 결과는 위와 동일하게 작동되었다.
[프로그래머스/Level1/파이썬3] 소수 찾기 (0) | 2020.10.13 |
---|---|
[프로그래머스/Level1/파이썬3] 문자열 내 p와 y의 개수 (0) | 2020.10.12 |
[프로그래머스/Level1/파이썬3] 문자열 내림차순으로 배치하기 (0) | 2020.10.08 |
[프로그래머스/Level1/파이썬3] 2016 (0) | 2020.10.08 |
[프로그래머스/Level1/파이썬3] 두 개 뽑아서 더하기 (0) | 2020.10.07 |