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;
}