Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

JustDoEat

[Python/String-Manipulation] Check Pangram 본문

카테고리 없음

[Python/String-Manipulation] Check Pangram

kingmusung 2023. 11. 26. 19:32

Pangram이란?

팡그램(pangram)"은 특정 알파벳이나 문자를 모두 포함하는 문장이나 문단을 나타냅니다. 주로 모든 알파벳을 최소한 한 번 사용하여 문장을 구성하는 경우를 의미합니다.

즉 현 문제에서는 a~z까지 알파벳이 문장에 모두 들어가야함. 

 

문제

주어진 문자열이 Pangram인지 체크하세요

 

입출력 예시1:

Input: str = “John quickly extemporized five tow bags.”

Output: True

 

코드.

str = "qwertyuiopasdfghjklzxcvbnm"

#pangram = [''.join(char.lower() for char in str if char.isalnum())] 
#.join()을쓰면 문자열을 합쳐서 리스트에 넣어짐으로 생략
#['johnquicklyextemporizedfivetowbags']

pangram = [char.lower() for char in str if char.isalnum()]
# 문자열에 영어, 숫자를 제외한 나머지를 없애줌.
# 대문자를 모두 소문자로 바꾼후 리스트에 한글자씩 넣어줌.
str_alpha=set(pangram) # 중복을 없애기위해 집합으로 변환, 어차피 A~Z 만 있으면 되므로 중복은 허용X

alpha = set( chr(item)for item in range(ord('a'),ord('z')+1) ) #a~z까지 값을 집합에 할당



result = str_alpha & alpha #교집합을해서 a~z가 나오면 pangram임.

result2 = result - str_alpha
result3 = str_alpha - result

difference = not result2 and not result3


if result == alpha and difference:
    print(difference)
else:
    print("false")