[프로그래머스] 문자열 다루기 기본(Python3)

Song_Song·2021년 4월 4일
0

문제 설명

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

제한 사항
s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

s return
"a234" False
"1234" True

파이썬으로 코딩테스트 풀어보기 첫 번째 문제. 언뜻 보기에 쉬운 문제이지만 한두개의 테스트케이스 실패 때문에 생각보다 오래 걸렸다.

내 풀이

def solution(s):
    answer = True
    length = len(s)
    
    if not (length == 4 or length == 6):
        answer = False
    else:
        for i in range(len(s)):
            if not s[i].isdigit():
                answer = False
                break
  return answer

문자열의 길이는 len()를 사용하고 문자열이 숫자인지 판별하는 함수는 isdigit()이다.
문자열에 있는 모든 character를 하나하나 반복문 돌려서 판별해 보았고, 아래처럼 받아온 문자열 s 전체를 s.isdigit() 하여 풀어도 된다.

def solution(s):
    answer = True
    length = len(s)
    
    if not (length == 4 or length == 6):
        answer = False
    else:
        if not s.isdigit():
            answer = False
profile
성장을 위한 정리 블로그

0개의 댓글