본문 바로가기

Programmers/Level1

시저 암호

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
    public String solution(String s, int n) {
        String answer = "";
        StringBuilder str = new StringBuilder();
 
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ')
                str.append(' ');
            else if (s.charAt(i) >= 'a' && s.charAt(i) <= 'z') {
                if (s.charAt(i) + n > 'z')
                    str.append((char) ('a' + s.charAt(i) + n - 'z' - 1));
                else
                    str.append((char) (s.charAt(i) + n));
            } else if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') {
                if (s.charAt(i) + n > 'Z')
                    str.append((char) ('A' + s.charAt(i) + n - 'Z' - 1));
                else
                    str.append((char) (s.charAt(i) + n));
            }
        }
        answer = str.toString();
        return answer;
    }
}
cs

덧셈한 후의 알파벳을 구할 때 -26 또는 -'a', -'A'로도 구할 수 있다.

'Programmers > Level1' 카테고리의 다른 글

문자열을 정수로 바꾸기  (0) 2021.07.06
수박수박수박수박수박수?  (0) 2021.07.06
문자열 내 마음대로 정렬하기  (0) 2021.07.06
두 정수 사이의 합  (0) 2021.07.06
음양 더하기  (0) 2021.07.06