반응형
https://www.acmicpc.net/problem/5598
문제
변환전 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
변환후 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
예를 들어서, 이 방법대로 단어 'JOI'를 카이사르 단어 형식으로 변환한다면 'MRL'을 얻을 수 있고, 앞의 예와 같은 방법으로 얻은 카이사르 단어 'FURDWLD'를 원래 단어로 고치면 'CROATIA'가 된다.
입력
입력은 한 줄로 이루어져 있으며, 그 한 줄에는 대문자 알파벳으로 구성된 단어가 1개 있다. 단어는 최대 1000자 이하이다.
출력
입력받은 카이사르 단어를 원래 단어로 고친 걸 출력하시면 된다.
코드
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin>>str;
int len = str.length();
char ch;
for(int i=0; i<len; i++){
char c = str[i];
// A = 65 B = 66 C = 67
// c가 A,B,C일때만
// A->X B->Y C->Z
if(int(c)>=65&&int(c)<=67){
ch = int(c)+23;
}
else{
// ex) M = 77 J = 74 ch = int(c)-3;
}
cout<<ch;
}
return 0;
}
|
cs |
반응형
'백준 > C++' 카테고리의 다른 글
[BaeKJoon/C++] 백준 5363 c++ 요다 (0) | 2022.02.18 |
---|---|
[BaeKJoon/C++] 백준 1978 c++ 소수 찾기 (0) | 2022.02.16 |
[BaeKJoon/C++] 백준 3059 c++ 등장하지 않는 문자의 합 (0) | 2022.02.14 |
[BaeKJoon/C++] 백준 3460 c++ 이진수 (0) | 2022.02.13 |
[BaeKJoon/C++] 백준 2581 c++ 소수 (0) | 2022.02.12 |