본문 바로가기

Problem Solving/백준

[백준/C++] 5598번 카이사르 암호


#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