[BOJ] 백준 5598 카이사르 암호
이 문제는 아스키 코드를 이용하면 되는 문제 입니다.
A(97) <=> D(100) 인 관계를 코드로 서술하면 되는 문제 입니다.
까다로운 점은, 카이사르 암호로변환했을때 A가 나왔다면, 이를 다시 평문으로 바꿔주어야 하는데 97-3 을 하게 된다면 아스키코드가 94인 엉뚱한 문자를 출력하게 되므로
예외케이스를 염두에 두어야 합니다.
소스코드 :
#include#include using namespace std; int main() { string s; cin >> s; int slen = s.length(); for (int i = 0; i < slen; i++) { cout << (s[i] - 3 < 65 ? (char)(s[i] + 23): (char)((s[i] - 3))); } }
댓글
댓글 쓰기