알고리즘
프로그래머스 - 시저 암호
계양 꿀주먹
2024. 4. 11. 23:24
class Solution {
public String solution(String s, int n) {
StringBuilder sb = new StringBuilder();
for(char c : s.toCharArray()) {
if(c >= 'a' && c <= 'z') {
c = ((char)(c + n) > 'z') ? (char)(c - 26 + n) : (char)(c + n);
sb.append(c);
}
else if(c >= 'A' && c <= 'Z') {
c = (char)(c + n) > 'Z' ? (char)(c - 26 + n) : (char)(c + n);
sb.append(c);
} else {
sb.append(" ");
}
}
return sb.toString();
}
}
소문자, 대문자인지 판별 후 n을 더했을 때 범위를 넘어선다면 알파벳의 길이인 26을 빼서 다시 a, A부터 시작하도록 했습니다.
입력값이 소문자, 대문자, 공백이기 때문에 else 로 공백을 추가해 답을 반환했습니다.