ALGORITHM
[JAVA] [프로그래머스] Level 1 - 연습문제 - 시저 암호
printf100
2020. 9. 8. 17:34
programmers.co.kr/learn/courses/30/lessons/12926
코딩테스트 연습 - 시저 암호
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가
programmers.co.kr

class Solution {
public String solution(String s, int n) {
StringBuffer sb = new StringBuffer();
for(int i=0; i<s.length(); i++) {
int res = 0;
int a = (int)s.charAt(i);
if(s.charAt(i) == ' ') {
res = 32;
} else {
// 대문자일 때
if(Character.isUpperCase(a)) {
if((int)s.charAt(i) + n > 90) {
res = a + n - 26;
}
else {
res = a + n;
}
}
// 소문자일 때
if(Character.isLowerCase(a)) {
if(a + n > 122) {
res = a + n - 26;
}
else {
res = a + n;
}
}
}
sb.append((char)res);
}
return sb.toString();
}
}