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')를 벗어난 값에 대해 정의를 해 주어야한다.
'Koala - 7기 > 기초 알고리즘 스터디' 카테고리의 다른 글
백준[Python/3029번] (0) | 2022.08.22 |
---|---|
[백준/python] 8989번 시계 (0) | 2022.08.22 |
[백준/python] 2480번 주사위 세개 (0) | 2022.08.21 |
[백준/Python] 10974 모든 순열 (0) | 2022.08.19 |
[백준/Python] 8979 올림픽 (0) | 2022.08.17 |