728x90
코드
import sys
str = sys.stdin.readline().rstrip("\n")
ROT13 = ""
for i in str:
if 'a' <= i and i <= 'z':
i = ord(i) + 13
if i > 122 :
i -= 26
ROT13 += chr(i)
elif 'A' <= i and i <= 'Z' :
i = ord(i) + 13
if i > 90 :
i -= 26
ROT13 += chr(i)
else:
ROT13 += i
print(ROT13)
i = ord(i) + 13
if i > 'z'
처음엔 이렇게 풀고 틀린 게 없다고 생각했는데 TypeError가 났다.
그 이유는 첫 번째 줄에서 i 를 integer 타입으로 바꿔놓고 조건문에서 integer와 string을 비교하고 있었기 때문이다.
입출력
'Algorithm' 카테고리의 다른 글
[알고리즘] 접미사 배열 백준 11656 (Python) (0) | 2022.01.17 |
---|---|
[알고리즘] 네 수 백준 10824 (Python) (0) | 2022.01.17 |
[알고리즘] 단어 길이 재기 백준 2743 (Python) (0) | 2022.01.17 |
[알고리즘] 문자열 분석 백준 10820 (Python) (0) | 2022.01.17 |
[알고리즘] 알파벳 찾기 백준 10809 (Python) (0) | 2022.01.17 |