본문 바로가기

코딩테스트 연습/programmers

[프로그래머스] 코딩테스트 연습 > 연습 > 문제시저 암호

class Solution {
    public String solution(String s, int n) {
    
        StringBuilder sb = new StringBuilder();
        n %= 26;
        for(int i=0;i<s.length();i++){
            if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z'){
                sb.append((char)('a' + ((s.charAt(i)-'a'+n)) % 26));
            }
            else if(s.charAt(i) >= 'A' && s.charAt(i) <= 'Z'){
                sb.append((char)('A' + ((s.charAt(i)-'A'+n)) % 26));     
            }
            else {
                sb.append(s.charAt(i));
            }
            
        }
        return sb.toString();
    }
}

 

 

class Solution {
    public String solution(String s, int n) {
        String answer = "";
        
        StringBuilder sb = new StringBuilder();
        for(int i=0;i<s.length();i++){
            if(s.charAt(i) >= 'a' && s.charAt(i) <= 'z'){
                char c =  (char)(((s.charAt(i) - 'a') + n)%26 + 'a');
                sb.append(c);
                System.out.println(c);
            } else if(s.charAt(i) >= 'A' && s.charAt(i) <= 'Z'){
                char c =  (char)(((s.charAt(i) - 'A') + n)%26 + 'A');
                sb.append(c);
                System.out.println(c);
            } else {
                sb.append(" ");
            }
        }
        
        return sb.toString();
    }
}