본문 바로가기
알고리즘/문자열 처리, 기타 자료구조

[java 백준] 브론즈 1/ 11655번 ROT13

by Meaning_ 2021. 8. 27.
728x90
반응형

https://www.acmicpc.net/problem/11655

 

11655번: ROT13

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

www.acmicpc.net

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
31
32
33
34
35
36
37
38
39
40
41
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
 
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();
        int len = s.length();
        Character[] arr = new Character[len];
        for (int i = 0; i < len; i++) {
            int num = (int) (s.charAt(i));
            if (48 <= num && num <= 57) {
                arr[i] = (char) (num);
            } else if (num == 32) {
                arr[i] = (char) (num);
            }
            if (num >= 65 && num <= 90) {
                if (num > 77) {
                    arr[i] = (char) (num - 13);
                } else {
                    arr[i] = (char) (num + 13);
                }
            } else if (num >= 97 && num <= 122) {
                if (num > 109) {
                    arr[i] = (char) (num - 13);
                } else {
                    arr[i] = (char) (num + 13);
                }
            }
 
        }
 
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
 
    }
 
}
cs
728x90
반응형

댓글