[HackerRank] Caesar Cipher - Problem
Q) 카이사르 암호 (시저 암호): 알파벳을 특정 숫자만큼 옆으로 이동시켜서 치환하기
아스키 코드표
풀이
def caesarCipher(s, k):
k %= 26
s2 = ""
for ch in s:
if ch.isupper():
chInt = ord(ch) + k
if chInt <= ord('Z'):
s2 += chr(chInt)
else:
s2 += chr(chInt - 26)
elif ch.islower():
chInt = ord(ch) + k
if chInt <= ord('z'):
s2 += chr(chInt)
else:
s2 += chr(chInt - 26)
else:
s2 += ch
return s2
실행 결과