Programmers/Lv.1

프로그래머스 Lv.1 - 시저 암호

junnrecorder 2023. 10. 28. 12:05

https://school.programmers.co.kr/learn/courses/30/lessons/12926

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1. 알파벳인 경우에만 n만큼 뒤에 알파벳으로 대체 되게 한다.

2. 'z' 또는 'Z'를 넘어간다면 그 만큼을 'a'  또는 'A'에서 시작하게 한다.

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