관리 메뉴

커리까지

[백준] 7600번 문자가 몇갤까 파이썬 본문

알고리즘/풀이

[백준] 7600번 문자가 몇갤까 파이썬

목표는 커리 2021. 7. 14. 06:32
728x90
SMALL

문제

"The quick brown fox jumped over the lazy dogs."

이 문장은 모든 알파벳이 적어도 한 번은 나오는 문장으로 유명하다.즉 26개의 서로 다른 문자를 갖고 있는 것이다.

각 케이스마다 문장에서 공백, 숫자, 특수 문자를 제외하고 얼마나 다양한 알파벳이 나왔는지를 구하면 된다. 대소문자는 하나의 문자로 처리한다. ex) 'A' == 'a'

입력

입력은 250자를 넘지 않는 문장이 주어진다.

각 문장은 적어도 하나의 공백이 아닌 문자를 포함한다. (알파벳이 아닐 수 있다)

마지막 줄에는 '#'이 주어진다.

출력

각 줄마다 출몰한 알파벳의 개수를 출력하면 된다.

예제 입력 1

The quick brown fox jumped over the lazy dogs.
2 + 2 = 4
New Zealand Programming Contest.
#

예제 출력 1

26
0
16

제출답안

import sys
input = sys.stdin.readline

while True:
    sum = 0
    text = input().strip()
    text_dict = {}
    if text == '#':
        break
    else:
        for i in text:
            if i.isalpha() and i.lower() not in text_dict.keys():
                sum +=1
                text_dict[i.lower()] = 1
        print(sum)
  1. while문을 돌면서 text를 받는다.
    1. 해당 text의 값이 #이면 나간다.
    2. 아니면 for문을 돌면서 알파벳인지 확인하고 알파벳이면서 딕셔너리에 저장이 안되있으면 처음 나온 알파벳이기에 sum에 1을 더한다.
    3. for문이 끝나면 sum을 출력한다.
728x90
LIST
Comments