36. 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수 solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다.
in을 사용하여 s의 길이(len)가 [4,6]에 포함되는지 확인하고
isdigit() 메소드를 사용해 문자열이 숫자로만 구성되어 있는지 확인 후
조건에 모두 해당하면 True를 리턴해주었다.
* isdigit() : 문자열이 모두 숫자로 이루어져 있으면 True를 반환하고, 숫자 외의 문자가 하나라도 포함되어 있다면 False를 반환하는 메소드로 부호나 소수점, 지수 또한 숫자로 처리하지 않는다.
def solution(s):
if len(s) in [4,6] and s.isdigit():
return True
return False
try 및 except 문을 사용하면 다음과 같은 코드로 문제를 풀 수 있다.
isdigit() 메소드 대신 int를 사용하여 문자열s가 정수형으로 변환이 가능하면 True를 에러가 발생하면 False를 리턴한다.
def solution(s):
if len(s) in [4,6]:
try:
int(s)
return True
except:
return False
return False
(240219 재풀이)
문자열 s의 길이가 4 또는 6인지 조건문으로 필터링하고 try except 구문으로 return 값을 입력했다.
여기서 isdigit()의 return값이 True인 것을 사용해주었다.
def solution(s):
if len(s) in [4,6]:
try:
return s.isdigit()
except:
return False
return False
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Code Kata > [Python] Code Kata' 카테고리의 다른 글
[Python] 프로그래머스 Lv.1 약수의 개수와 덧셈 (1) | 2024.01.31 |
---|---|
[Python] 프로그래머스 Lv.1 수박수박수박수박수박수? (1) | 2024.01.30 |
[Python] 프로그래머스 Lv.1 제일 작은 수 제거하기 (1) | 2024.01.26 |
[Python] 프로그래머스 Lv.1 핸드폰 번호 가리기 (0) | 2024.01.26 |
[Python] 프로그래머스 Lv.1 음양 더하기 (1) | 2024.01.22 |