공부 흔적남기기

프로그래머스 시저 암호 본문

코테/프로그래머스

프로그래머스 시저 암호

65살까지 코딩 2022. 1. 15. 11:02
728x90
반응형
class Solution {
    public String solution(String s, int n) {
        String answer = "";
        char[] chars = s.toCharArray();
        //아스키 코드를 알아야 풀 수 있는문제
        for(int i =0; i<chars.length; i++) {
            if (chars[i] != ' ') {
                //char가 a와 z사이에 있다면 +n
                if (chars[i] >= 97 && chars[i] <= 122) {
                    chars[i] += n;
                    //+n한 값이 z를 넘어선다면 a에서 부터 다시 시작하게 바꿔줌
                    if(chars[i] >122){
                        chars[i] -=26;
                    }
                    //char가 A와 Z사이에 있다면 +n
                } else if (chars[i] >= 65 && chars[i] <= 90) {
                   chars[i] += n;
                    //+n한 값이 Z를 넘어선다면 A에서 부터 다시 시작하게 바꿔줌
                    if(chars[i] >90){
                        chars[i] -=26;
                    }
                }
            }
        }
        
        for(int i =0; i<chars.length; i++){
            answer += chars[i];
        }
        return answer;
    }
}

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

 

코딩테스트 연습 - 시저 암호

어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀

programmers.co.kr

 

728x90
반응형