BOJ/Python

백준 2902번 KMP는 왜 KMP일까? 파이썬

띵지니어 2022. 2. 22. 21:55

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

 

2902번: KMP는 왜 KMP일까?

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

www.acmicpc.net

 

답안

print(''.join([i for i in input() if i.isupper()]))

 

처음엔 두가지 방법으로 풀었다.

1. 아스키 코드 활용

x = input()
answer = ''
for i in x:
    if ord(i) >= 65 and ord(i) <= 90:
        answer += i
print(answer)

ord('A') = 65와 같다.

if 절의 말을 해석하면 A~Z 이면 문자열을 더하는 코드를 짰다.

 

2.  isupper() 함수 활용

x = input()
answer = ''
for i in x:
    if i.isupper():
        answer += i
print(answer)

 

사실 한 줄 코딩으로 해결한 적은 처음이기 때문에 업로드를 하였다..!