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

orangesnail·2025년 5월 6일

백준

목록 보기
101/169

https://www.acmicpc.net/problem/5598


전체 코드

이 문제에서는 아스키 코드를 활용해야 한다.
문자를 정수로 나타낼 수 있기 때문에 char형인 상태에서 바로 -3 과 같은 연산을 해서 복호화가 가능하다. 대신 뺄셈을 했을 때 음수가 되는 경우를 대비해 if (original < 'A') original += 26 줄을 꼭 넣어줘야 한다!

#include <iostream>
#include <string>
using namespace std;

int main() {
    string password;
    string answer = "";

    cin >> password;

    for (int i = 0; i < password.length(); i++) {
        char c = password[i];

        char original = c - 3;
        if (original < 'A') original += 26;
        answer += original;
    }

    cout << answer << endl;
    return 0;
}
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글