본문 바로가기
알고리즘/프로그래머스 PS

[프로그래머스][Level 1][Python] 문자열 다루기 기본

by 빛밤하늘 2021. 7. 8.
반응형

밑의 링크는 프로그래머스에서의 문제 링크입니다.

 

코딩테스트 연습 - 문자열 다루기 기본

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

programmers.co.kr

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 문자열 s가 매개변수로 주어집니다.
def solution(s):
    # 조건에 맞는 문자열인지 아닌지를 저장할 변수를 선언합니다.
    # 처음에는 조건에 맞는 문자열이라는 뜻인 True로 초기화합니다.
    answer = True
    # 문자열 s의 길이를 저장하는 변수를 선언합니다.
    s_len = len(s)

    # 문자열 s의 길이가 4 혹은 6이 아니라면
    if s_len != 4 and s_len != 6:
        # 조건에 맞지 않는 문자열이므로 answer에 False를 저장합니다.
        answer = False
    # 문자열 s의 길이가 4 혹은 6이라면
    else:
        # 문자열 s를 한 글자씩 반복해봅니다.
        for char in s:
            # 현재 글자가 숫자 형태의 문자가 아니라면
            if ord(char) < ord('0') or ord(char) > ord('9'):
                # 조건에 맞지 않는 문자열이므로 answer에 False를 저장합니다.
                answer = False
                # 반복문을 탈출합니다.
                break

    # answer의 값을 반환합니다.
    return answer

결과

 

문자열 s의 길이가 4 혹은 6이 아니라는 조건에서 and, or을 계속 헷갈려 조금 시간이 걸렸습니다.

쉬운 부분인데 왜 헷갈렸는지 모르겠네요...

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글