본문 바로가기
Algorithm

[알고리즘] ROT13 백준 11655 (Python)

by 가영리 2022. 1. 17.
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을 비교하고 있었기 때문이다.

 

 

입출력