알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

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

 

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

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

programmers.co.kr


Think🤔

AB에서 1밀면 BC
ABCDE
AB에서 3밀면
DE가 됨
마지막 z에서 밀면 a가 됨

1밀면 BC
2밀면 CD
3밀면 DE

122
65
57

대문자 A~Z 65~90
소문자 a~z  97~122
공백은 공백 그대로..

각 문자들이 숫자에 영향을 받는다 

6 7 8 10 12


Solution✍
class Solution {
    public String solution(String s, int n) {
        String answer = "";
        
        char[] ch = s.toCharArray();
        
        for(char c : ch){
            if(c == ' '){ // 공백일 시 넘어감
                answer+=" ";
                continue;
            }else{
                char temp = (char)(c+n);
                
                if(temp > 122 && c <= 122){
                    answer += (char)(temp-26);
                }else if(temp > 90 && temp < 97 || temp > 90 && c <= 90 ){
                    answer += (char)(temp-26);
                }else{
                    answer += temp;
                }
            }
        }
        
        return answer;
    }
}

Review🤩

소문자는 소문자 , 대문자는 대문자 if else if문이 중요하다는것을 알게됨.


 

+ Recent posts