본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Bronze 2][Python] 5704번 : 팬그램

by 빛밤하늘 2021. 4. 17.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

5704번: 팬그램

입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다.

www.acmicpc.net

 

 

 

 

 

 

 

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

# *을 입력할 때까지 반복합니다.
while True:
    # 단어는 공백 하나로 구분되어 있고 소문자로만 이루어진 한 문장을 입력합니다.
    # 길이는 200글자 미만입니다.
    sentence = input()

    # 입력한 문장이 팬그림인지의 여부를 저장하는 변수를 선언합니다.
    # 처음에는 팬그램이 맞다는 뜻인 문자열 Y로 초기화합니다.
    is_pangram = 'Y'

    # 입력한 문장이 *이라면
    if sentence == '*':
        # 반복문을 탈출하고 종료시킵니다.
        break
    # 입력한 문장이 다른 문장이라면
    else:
        # 알파벳 소문자 a에서 z까지 반복해봅니다.
        for alphabet in range(97, 123):
            # 입력한 문장에서 현재 알파벳 소문자가 없다면
            if sentence.find(chr(alphabet)) == -1:
                # 팬그램 여부를 N으로 바꿉니다.
                is_pangram = 'N'
                # 알파벳을 검사하고 있는 반복문을 탈출합니다.
                break

        # 입력한 문장의 팬그램 여부를 출력합니다.
        print(is_pangram)

결과

 

처음 제출할 때 알파벳 소문자 반복문 중에서 z의 아스키 코드 값인 122를 착각해서 

range(97, 123) 대신 range(97, 122)로 잘못 설정해 틀렸습니다 결과가 나왔습니다.

 

 

 

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

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

반응형

댓글