코린이의 소소한 공부노트

[프로그래머스/Lv.1] 시저 암호 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.1] 시저 암호

무지맘 2022. 11. 25. 10:31

1. Input

1) 문자열 s

2) 거리를 나타내는 정수 n

3) 시저 암호란 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 말한다.

 

2. Output

1) sn만큼 민 암호문을 나타내는 문자열

 

3. Constraint

1) 공백은 아무리 밀어도 공백이다.

2) s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있다.

3) s의 길이는 8,000 이하

4) n1 이상, 25 이하인 자연수

 

4. Example

Input: s=“a B z”, n=4 -> Output: “e F d”

설명:

- a -> b -> c -> d -> e

- B -> C -> D -> E -> F

- z -> a -> b -> c -> d

- 공백은 공백이다.

 

5. Code

1) 첫 코드(2022/??)

String answer = "";
String[] ss = s.split("");
for(int i=0 ; i<ss.length ; i++) {
    if(ss[i].equals(" ")) answer += " ";
    else if(ss[i].matches("[a-z]")) {
        int c = s.charAt(i) + n;
        if(c>122) c -= 26;
        answer += (char)c + "";
    }
    else {
        int c = s.charAt(i) + n;
        if(c>90) c -= 26;
        answer += (char)c + "";
    }
} // for i
return answer;