반응형

11091

https://www.acmicpc.net/problem/11091

 

11091번: 알파벳 전부 쓰기

팬그램은 26개의 알파벳, a~z를 최소 한번씩 모두 사용한 문장을 말한다. 아마 가장 유명한 문장은 이것일 것이다. "The quick brown fox jumps over the lazy dog." 꿍은 다른 문장들중에 팬그램인 것은 없는지

www.acmicpc.net

[정답]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys
= int(input())
for n in range(N):
    eng = [0]*26
    s = sys.stdin.readline().strip()
    s = s.lower()
    cnt = 0
    for i in s:
        check = ord(i) - 97
        if 0 <= check <= 25:
            eng[check] = 1
    for i in eng:
        if i:
            cnt += 1
    if cnt == 26:
        print('pangram')
    else:
        print('missing ', end = '')
        for i in range(26):
            if eng[i] == 0:
                print(chr(i+97), end = '')
        print()
cs

.

.

.

[풀이]

입력 받은 문장을 lower()을 이용하여 소문자로 바꿔준다.

아스키코드를 이용하여 a(97) ~ z(122)에 해당하는 알파벳이 있는지 확인한다.

ord('a') → 97         chr(97) → a

ord('z') → 122        chr(122) → z

 

P.S.

코드가 길어서 지저분해보인다.

반응형

+ Recent posts