본문 바로가기

Coding Test/프로그래머스

[프로그래머스/자바] 시저 암호

class Solution {
    public String solution(String s, int n) {
        StringBuilder sb = new StringBuilder();
        
        for (char c : s.toCharArray()) {
            if (!Character.isAlphabetic(c)) {
                sb.append(c);
                continue;
            }
            
            char target = c <= 'Z' ? 'Z' : 'z';
            int tmp;
            if (c <= target) {
                tmp = c + n;
                
                if (tmp <= target) sb.append((char) tmp);
                else sb.append((char) (tmp - 26));
            }
        }
        
        return sb.toString();
    }
}