#include <iostream>
using namespace std;
int main() {
string answer;
cin >> answer;
for(int i = 0; i < answer.length(); i++) {
answer[i] < 'D' ? answer[i]+=23 : answer[i]-=3;
}
cout << answer;
}
카이사르 암호에서 3만큼 뒤로가면 원래 알파벳이지만 A,B,C의 경우 3뒤로 가면 안되므로 X,Y,Z로 갈 수 있도록 26을 더하고 3을 뺐다.
문제: https://www.acmicpc.net/problem/5598
5598번: 카이사르 암호
가이우스 율리우스 카이사르(Gaius Julius Caesar)는 고대 로마 군인이자 정치가였다. 카이사르는 비밀스럽게 편지를 쓸 때, 'A'를 'D로', 'B'를 'E'로, 'C'를 'F'로... 이런 식으로 알파벳 문자를 3개씩 건
www.acmicpc.net
'Problem Solving > 백준' 카테고리의 다른 글
[백준/C++] 8958번 OX퀴즈 (0) | 2022.01.24 |
---|---|
[백준/C++] 5622번 다이얼 (0) | 2022.01.24 |
[백준/C++] 4659번 비밀번호 발음하기 (0) | 2022.01.24 |
[백준/C++] 1331번 그룹 단어 체커 (0) | 2022.01.24 |
[백준/C++] 11721번 열 개씩 끊어 출력하기 (0) | 2022.01.24 |