Koala - 7기/기초 알고리즘 스터디

[백준/Python] 5598 카이사르 암호

쥬발이 2022. 8. 21. 22:29

1. 문제

 

5598번: 카이사르 암호

가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건

www.acmicpc.net

 

2. 코드 

caesar = list(input())
for i in range(len(caesar)):
    re = ord(caesar[i]) - 3
    if re < ord('A'):
        re += 26
    caesar[i] = chr(re)
print(''.join(caesar))

 

3. 풀이 

- 카이사르 암호는 알파벳을 3개씩 건너띄어쓴다. 복구할때는 기존의 알파벳 3개 전 알파벳을 대응한다.

- 이때, 알파벳에 숫자가 대응되는 아스키코드를 사용한다. ord() 함수 사용

- 앞으로 대응하는 체계기에 ord('A')를 벗어난 값에 대해 정의를 해 주어야한다.