function solution(s, n) {
let ans = "";
for(let i = 0; i < s.length; i++){
let original = s[i].charCodeAt();
if(original === 32){
ans += " "
} else if(original >= 65 && original <= 90){
let newASCII = original + n;
if(newASCII > 90){
newASCII -= 26;
}
let ASCIIstr = String.fromCharCode(newASCII);
ans += ASCIIstr;
} else if(original >= 97 && original <= 122){
let newASCII = original + n;
if(newASCII > 122){
newASCII -= 26;
}
let ASCIIstr = String.fromCharCode(newASCII);
ans += ASCIIstr;
}
}
return ans;
}
주어진 문자열의 원소들을 아스키 코드 번호로 변환해서 분기 처리를 해줬다.
대문자는 대문자, 소문자는 소문자끼리 순환하므로
각각 90, 122가 넘어가면 알파벳 개수인 26을 빼줘서 처음부터 시작하는 것처럼 만들어줘야한다.