https://www.acmicpc.net/problem/5704
문제
팬그램은 알파벳의 모든 글자들을 사용해서 만든 문장이다. "the quick brown fox jumps over a lazy dog"과 "jackdaws loves my big sphinx of quartz"은 팬그램이다. 문장이 주어졌을 때, 팬그램인지 아닌지를 알아내는 프로그램을 작성하시오.
입력
입력은 여러 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 많아야 200글자로 이루어져 있는 문장이다. 단어는 공백 하나로 구분되어 있다. 또, 단어는 알파벳 소문자로만 이루어져 있다. 입력의 마지막 줄에는 별표(*)가 하나 주어진다.
출력
각 테스트 케이스에 대해서, 입력으로 주어진 문장이 팬그램이라면 'Y', 아니라면 'N'를 출력한다.
소스코드
while True:
input_string = input()
if input_string == "*":
break
else:
alphabet_set = set(input_string)
if " " in alphabet_set:
alphabet_set.remove(" ")
if len(alphabet_set) == 26:
print("Y")
else:
print("N")
문제풀이
1. while True로 무한 루프를 만들어서, '*' 가 입력되었을 경우에만 break하도록 한다.
2. 입력받은 문자열로 set를 만든다.
3. 문자열 중 ' ' (공백)이 포함되어 있을 수 있으므로, 있을 경우 remove로 없애준다.
4. 알파벳의 모든 글자로 만들어진 문자열일 경우, set로 만들었을 때 공백 제외 26개의 요소가 있어야 하므로, len을 사용하여 해당 set의 길이가 26인지 확인하고 그에 따라 'Y'와 'N'을 출력한다.
'Koala - 12기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 11800 Tawla (0) | 2023.09.21 |
---|---|
[백준/python] 10867번: 중복 빼고 정렬하기 (0) | 2023.09.20 |
[백준 Python3] 10871번 : X보다 작은 수 (0) | 2023.09.17 |
[백준 Python3] 10173번 : 니모를 찾아서 (0) | 2023.09.17 |
[백준 python3] 1551번 : 수열의 변화 (0) | 2023.09.17 |