공부하기/백준

[Python] 백준 풀기 2902 - KMP는 왜 KMP일까?

XEV 2022. 11. 20. 22:52

파이썬 백준 2902번

브론즈2

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

 

2902번: KMP는 왜 KMP일까?

입력은 한 줄로 이루어져 있고, 최대 100글자의 영어 알파벳 대문자, 소문자, 그리고 하이픈 ('-', 아스키코드 45)로만 이루어져 있다. 첫 번째 글자는 항상 대문자이다. 그리고, 하이픈 뒤에는 반드

www.acmicpc.net

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

문제 풀기

이름과 하이픈을 모두 리스트로 나누어 입력받는다. 하이픈 및 소문자는 모두 무시하고 대문자만 출력한다.

 

입력받은 문자형태의 리스트를 for loop 을 돌리면서 그 단위 문자가 대문자이면 연속하여 프린트한다.

 

 

 

 

 

코드 보기

import sys
inputdata = sys.stdin.readline

def fnFindUpper(names_ls):
    for name in names_ls:
        if name.isupper() == True:
            print(name, end="")


if __name__ == "__main__":
    names_ls = list(str(inputdata().strip()))
    print(names_ls)         # test print
    
    fnFindUpper(names_ls)



# Knuth-Morris-Pratt

# ['K', 'n', 'u', 't', 'h', '-', 'M', 'o', 'r', 'r', 'i', 's', '-', 'P', 'r', 'a', 't', 't']

# KMP