Notice
Recent Posts
Recent Comments
Link
전자공학 및 알고리즘
백준 11655 - ROTC13(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/11655
11655번: ROT13
첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.
www.acmicpc.net
ROTC13이란 x번째 문자에서 13을 더한 알파벳으로 바꾸는 문제입니다.
B는 13을 미루면 O가 됩니다.
하지만 O는 13을 미루면 알파벳이 아니게 됨으로 26의 값을 빼서 알파벳으로 바꿔줘야 합니다. 그러면 B가 나옵니다.
자세한 것은 코드를 참고해주세요.
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <cmath>
using namespace std;
char arr[101];
string ans;
int main(){
cin.tie(0);
cout.tie(0);
cin.getline(arr, 101);
for(int i = 0; i < strlen(arr); i++){
if(arr[i] >= 'A' && arr[i] <= 'Z'){
arr[i] += 13;
if(arr[i] >= 'A' && arr[i] <= 'Z') ans += arr[i];
else ans += (arr[i] - 26);
}
else if(arr[i] >= 'a' && arr[i] <= 'z'){
arr[i] += 13;
if(arr[i] >= 'a' && arr[i] <= 'z') ans += arr[i];
else ans += (arr[i] - 26);
}
else ans += arr[i];
}
cout << ans;
return 0;
}
질문 및 조언은 댓글을 남겨주세요
'백준' 카테고리의 다른 글
백준 17413 - 단어 뒤집기 2(C++) (0) | 2023.06.03 |
---|---|
백준 5598 - 카이사르 암호(C++) (0) | 2023.06.02 |
백준 1769 - 3의 배수(C++) (0) | 2023.06.01 |
백준 15904 - UCPC는 무엇의 약자일까?(C++) (0) | 2023.06.01 |
백준 9996 - 한국이 그리울 땐 서버에 접속하지(C++) (0) | 2023.06.01 |