티스토리 뷰

PS

백준 11655. ROT13

tose33 2021. 4. 8. 18:20

www.acmicpc.net/problem/11655

 

11655번: ROT13

첫째 줄에 알파벳 대문자, 소문자, 공백, 숫자로만 이루어진 문자열 S가 주어진다. S의 길이는 100을 넘지 않는다.

www.acmicpc.net

 

시도했지만 맞히지 못한 문제에 있길래 풀어봤다.

옛날에 처음 문제를 풀때 못풀고 지나간 문제인가보다.

 

소문자일때, 대문자일때로 케이스를 나누고,

또 13을 더했을때 'z', 'Z'를 넘으면 넘은만큼 'a', 'A'에서 더해준다.

 

#include <iostream>
using namespace std;
#include <string>

int main() {
    string s;
    getline(cin, s);

    for(int i = 0; i < s.length(); i++) {
        if(s[i] >= 'a' && s[i] <= 'z') { // small letter
            int res = s[i] + 13;
            if(res > 'z') s[i] = 'a' + res - 'z'-1;
            else s[i] = res;
        }
        else if(s[i] >= 'A' && s[i] <= 'Z') { // big letter
            int res = s[i] + 13;
            if(res > 'Z') s[i] = 'A' + res - 'Z'-1;
            else s[i] = res;
        }

    }

    for(auto x : s) cout << x;

}

'PS' 카테고리의 다른 글

백준 7569. 토마토  (0) 2021.04.14
백준 1012. 유기농 배추  (0) 2021.04.13
백준 10875. 피보나치수 5  (0) 2021.04.06
백준 1316. 그룹 단어 체커  (0) 2021.04.06
2941. 크로아티아 알파벳  (0) 2021.04.06
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함