프로그래머스 - 시저 암호 (Level 1)

2023. 12. 28. 18:32코딩테스트 정리(자바)

728x90
class 시저_암호 {
    public String solution(String s, int n) {
        char[] ch=s.toCharArray(); //char 타입으로 변경
        for(int i=0;i<ch.length;i++){
            if(ch[i]==' ')
                continue; //공백은 건너뜀
            else if(ch[i]>='A'&& ch[i]<='Z') //대문자
                ch[i]=(char) ((ch[i]-'A'+n)%26+'A');
            else //소문자
                ch[i]=(char) ((ch[i]-'a'+n)%26+'a');
        }
        String answer = new String(ch);
        return answer;
    }
}

 

(ch[i]-'A'+n)%26 
-> 모듈러 연산을 통해 A로부터 얼마나 밀어야하는지 계산할 수 있음
728x90