반응형
백준 BAEKJOON 10384번 팬그램 [PYTHON/파이썬]
<문제 출처>
https://www.acmicpc.net/problem/10384
<풀이>
먼저 알파벳 리스트를 만들었다. (a = 97, z = 122)
Case (번호)를 구현하기 위해 for 문을 1부터 시작하게 만들었고
문자열 입력을 알파벳 리스트와 대칭시키기 위해 lower()를 사용하여 모두 소문자로 변환시켰다.
check 이라는 리스트에 0으로 길이 26으로 채웠다. (a~z 26개)
ord 함수를 사용해 알파벳을 판별하고 알파벳 순서와 check의 인덱스 번호를 통일시켜서 +1 해줬다.
그 중에서 가장 작은 숫자를 통해 팬그램 여부를 판단하는 조건문으로 코드를 짰다.
alphabet = list(range(97, 123))
for t in range(1, int(input())+1) :
pangram = input().lower()
check = [0] * 26
for i in pangram :
if ord(i) in alphabet :
check[ord(i)-97] += 1
if min(check) == 0 :
print("Case {}: Not a pangram".format(t))
elif min(check) == 1 :
print("Case {}: Pangram!".format(t))
elif min(check) == 2 :
print("Case {}: Double pangram!!".format(t))
elif min(check) == 3 :
print("Case {}: Triple pangram!!!".format(t))
반응형
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 20944번 팰린드롬 척화비 [PYTHON/파이썬] (0) | 2022.09.22 |
---|---|
백준 BAEKJOON 20528번 끝말잇기 [PYTHON/파이썬] (0) | 2022.09.22 |
백준 BAEKJOON 25371번 k진수 정수의 자릿수 나누기 [PYTHON/파이썬] (0) | 2022.09.21 |
백준 BAEKJOON 1316번 그룹 단어 체커 [PYTHON/파이썬] (2) | 2022.09.21 |
백준 BAEKJOON 2941번 크로아티아 알파벳 [PYTHON/파이썬] (0) | 2022.09.21 |