1. 문제
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 |