[프로그래머스] - 문자열 다루기 기본

SeomIII·2021년 7월 7일
0

programmers_LEVEL1

목록 보기
7/34
post-thumbnail

문제 설명

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

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

문제 풀기

생각과정
1. if 문으로 문자열의 길이가 4 or 6 인지 확인
2. for 문 돌면서 isalpha 함수 사용해서 True가 나오면 for 문 탈출

문제 풀이

def solution(s):
    answer = True
    
    if len(s)==4 or len(s)==6:
        for i in range(len(s)):
            if s[i].isalpha()==True:
                answer=False
                break

    else:
        answer=False
            
    return answer

다른 사람 풀이

1)

def alpha_string46(s):
    return s.isdigit() and len(s) in (4, 6)

2)

def solution(s):
    l = len(s)
    try:
        a = int(s)
        if l == 4 or l == 6:
            return True
        else:
            return False
    except:
        return False
// s를 int로 형변환을 해서 오류가 나지 않으면 True~

개선점

  • for 문을 돌지 않고도 isdigit을 쓰면 된다는 걸 왜 생각못했지~?~??
  • in 을 사용해보자!!
profile
FE Programmer

0개의 댓글