class Solution {
public String solution(String s, int n) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch >= 'a' && ch <= 'z') { // 소문자 처리
ch = (char) ((ch - 'a' + n) % 26 + 'a');
} else if (ch >= 'A' && ch <= 'Z') { // 대문자 처리
ch = (char) ((ch - 'A' + n) % 26 + 'A');
}
sb.append(ch);
}
return sb.toString();
}
}
문자열 s의 각 글자를 순회하면서 각 알파벳을 n만큼 밀어서 다른 알파벳으로 바꾸기 위해 if문으로 소문자와 대문자를 구분합니다. 각각에 대해서 아스키 코드 값을 이용하여 계산하고, 다시 문자로 변환하여 StringBuilder에 추가합니다. 마지막으로 StringBuilder를 String으로 변환하여 반환합니다.