반응형
문제 출처
백준 온라인 저지
https://www.acmicpc.net/problem/11655
11655번: ROT13
첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.
www.acmicpc.net
문제
입 / 출력
풀이
알파벳은 총 26자이로 이루어져있기 때문에
알파벳을 13자리 뒤로 밀었을 경우 'z' 혹은 'Z'를 초과할 경우는
앞으로 13자리를 밀어서 풀 수 있다.
코드
#include <iostream>
#include <string.h>
using namespace std;
string s;
int main() {
getline(cin, s);
for (int i = 0; i < s.size(); i++) {
char temp = s[i];
if (temp >= 'A' && temp <= 'Z') {
if (temp - 'A' < 13)
s[i] += 13;
else
s[i] -= 13;
}
if (temp >= 'a' && temp <= 'z') {
if (temp - 'a' < 13)
s[i] += 13;
else
s[i] -= 13;
}
}
cout << s;
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[C++] BOJ 1212 8진수 2진수 (0) | 2022.01.18 |
---|---|
[C++] BOJ 2609 최대공약수와 최소공배수 (0) | 2022.01.18 |
[C++] BOJ 9012 괄호 (0) | 2022.01.18 |
[C++] BOJ 10825 국영수 (0) | 2022.01.07 |
[C++] BOJ 11052 카드 구매하기 (0) | 2022.01.05 |