본문 바로가기
코딩테스트/프로그래머스

[Level 1] 시저 암호

by 고구마는호박고구마 2022. 8. 11.

class Solution {
    public String solution(String s, int n) {
        String answer = "";
        
        for(int i=0; i<s.length(); i++){
            if(s.charAt(i)==' '){
                answer += " ";
                continue;
            }
            
            int ne = (int)s.charAt(i); //A -> E
            if((64<ne && ne <91)){
                answer += (ne+n>90) ? (char)(ne+n-90+64) : (char)(ne+n);
            }else if((ne>96 &&  ne<123 )){
                answer += (ne+n>122) ? (char)(ne+n-122+96) : (char)(ne+n);
            }
        }
        
        return answer;
    }
}
/*
1. 문자열에서 하나씩 검사 split("") 
2. 문자의 개수만큼 반복문을 돌림 
3. 문자의 아스키코드값으로 변환하여 n만큼 이동
4. 문자를 합친다. 
*/

/* 문자를 ASCII 코드로 바꾸기 char형을 (int) 강제 형 변환 
   아스키 코드에서 대문자번호와 소문자번호만 구별할 수 있어야함 
   A = 65  Z = 90  a = 97  z = 122 
*/

댓글