[알고리즘/백준] 11655: ROT13(python)

자료구조를 이용해서 풀었다... 아스키코드를 이용하여 알파벳 범위를 넘어가면 -13을 해주었고 넘어가지 않는다면 +13을 했다.

a = list(input())
stack = []

while a:
    i = a.pop()
    if i.isalpha():
        if (i.isupper() and ord(i) + 13 > 90) or i.islower() and ord(i) + 13 > 122:
            stack.append(chr(ord(i) - 13))
        else:
            stack.append(chr(ord(i) + 13))
    else:
        stack.append(i)
print(*reversed(stack), sep='')

좋은 웹페이지 즐겨찾기