코딩테스트

프로그래머스 문자열 다루기 기본 파이썬 (Level-1)

눈찜질 2023. 4. 12. 23:02

문제 설명

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

제한 사항

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

'''
def solution(s):
# 제한 사항
if len(s)!=4 and len(s)!=6:
return False

# 풀이 1  
answer = True  
num\_list = list(range(10))  
num\_list = ''.join(map(str,num\_list))  
for i in range(len(s)):  
    if s\[i\] not in num\_list:  
        answer = False  
        return answer  
# 다른 풀이 2  
# answer = True  
# s\_list = list(map(str,s))  
# for i in range(len(s)):  
#     if s\_list\[i\].isnumeric()==False:  
#         return False  

# 다른 풀이 3  
# answer = True  
# try:  
#     s = int(s)  
# except:  
#     return False  

return answer

총 3가지의 풀이법으로 문제를 해결했으며, 이번 문제의 경우 가장 핵심이라고 해야될 것은 제한사항을 설정하는 것이였다. 분명 본인 풀이가 맞는 경우에도 채점하기에도 통과가 되지 않는다면 제한사항을 꼭 설정해보는 것을 추천드립니다!