SteffenLee

[BOJ]11655-ROT13 본문

Problem Solving/BOJ

[BOJ]11655-ROT13

SteffenLee 2018. 8. 12. 22:13

안녕하세요!

백준 11655번 ROT13 문제 풀이입니다.


먼저 문제를 보겠습니다.



문자열을 입력받고 알파벳만 골라서 13을 밀어야한다.

이 문제에서 a ~ m은 13을 더해야 하고, n~ z는 13을 빼야한다.


이러면 문제가 쉽게 풀린다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
#include<string>
using namespace std;
 
string str;
int key = 13;
int main() {
    getline(cin, str);
    
    for (int i = 0; i < str.size(); ++i) {
        if (isalpha(str[i])) {
            if (str[i] < 78)
                printf("%c", str[i] + key);
            else if (str[i] >= 79 && str[i] <= 90)
                printf("%c", str[i] - key);
            else if (str[i] >= 97 && str[i] < 110)
                printf("%c", str[i] + key);
            else
                printf("%c", str[i] - key);
        }
        else
            printf("%c", str[i]);
    }
}
cs

감사합니다.


'Problem Solving > BOJ' 카테고리의 다른 글

[BOJ]11720-숫자의 합  (0) 2018.08.14
[BOJ]10820-문자열 분석  (1) 2018.08.13
[BOJ]9625-BABBA  (0) 2018.08.12
[BOJ]10821-정수의 개수  (0) 2018.08.09
[BOJ]10943-랜덤 게임~  (0) 2018.08.08
Comments