[ BOJ / Python ] 10384번 팬그림
 이번 문제는 모든 알파벳을 포함하는 배열과 알파벳의 수를 세기 위한 배열을 먼저 만들고, 문자열에 존재하는 알파벳에 해당하는 인덱스 값을 증가시킨 후 알파벳의 수를 세기 위한 배열에서 가장 작은 수에 따라 알맞은 출력값을 출력하여 해결하였다. 입력되는 문자열에 대소문자가 모두 가능하므로 lower함수를 통해 우선 문자열을 소문자로 모두 변환해주었다.
이번 문제는 모든 알파벳을 포함하는 배열과 알파벳의 수를 세기 위한 배열을 먼저 만들고, 문자열에 존재하는 알파벳에 해당하는 인덱스 값을 증가시킨 후 알파벳의 수를 세기 위한 배열에서 가장 작은 수에 따라 알맞은 출력값을 출력하여 해결하였다. 입력되는 문자열에 대소문자가 모두 가능하므로 lower함수를 통해 우선 문자열을 소문자로 모두 변환해주었다.
- n을 입력받는다.
- 배열 alphabet에 모든 알파벳을 저장한다.
- 0부터 n까지의 i에 대한 for문을 돌린다. (케이스의 수 만큼 반복하기 위함)
- 알파벳의 수를 셀 때에 사용할 0이 26개 들어간 cnt배열을 선언한다.
- 문자열 case를 입력받는다.
- case를 소문자로 변환시킨다.
- 0부터 case의 길이까지 반복하는 j에 대한 for문을 돌린다.
 -> 만약 case[j]가 alphabet 배열에 존재할 경우 cnt 배열의 case[j]에 해당하는 alphabet 배열의 인덱스 원소를 1 증가시킨다.
- 만약 cnt배열의 최소값이 0이라면 "Case (i+1): Not a pangram"을 출력시킨다.
- 만약 cnt배열의 최소값이 1이라면 "Case (i+1): Pangram!"을 출력시킨다.
- 만약 cnt배열의 최소값이 2이라면 "Case (i+1): Double pangram!!"을 출력시킨다.
- 이 외에는 "Case (i+1): Triple pangram!!!"을 출력시킨다.
Code
n=int(input())
alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','n','m','o','p','q','r','s','t','u','v','w','x','y','z']
for i in range(n):
    cnt = [0] * 26
    case=str(input())
    case=case.lower()
    for j in range(len(case)):
        if case[j] in alphabet:
            cnt[alphabet.index(case[j])]+=1
    if min(cnt)==0:
        print('Case %d: Not a pangram'%(i+1))
    elif min(cnt)==1:
        print('Case %d: Pangram!'%(i+1))
    elif min(cnt)==2:
        print('Case %d: Double pangram!!'%(i+1))
    else:
        print('Case %d: Triple pangram!!!'%(i+1))
n=int(input())
alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','n','m','o','p','q','r','s','t','u','v','w','x','y','z']
for i in range(n):
    cnt = [0] * 26
    case=str(input())
    case=case.lower()
    for j in range(len(case)):
        if case[j] in alphabet:
            cnt[alphabet.index(case[j])]+=1
    if min(cnt)==0:
        print('Case %d: Not a pangram'%(i+1))
    elif min(cnt)==1:
        print('Case %d: Pangram!'%(i+1))
    elif min(cnt)==2:
        print('Case %d: Double pangram!!'%(i+1))
    else:
        print('Case %d: Triple pangram!!!'%(i+1))
Author And Source
이 문제에 관하여([ BOJ / Python ] 10384번 팬그림), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@xx0hn/BOJ-Python-10384번-팬그림저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)