아스키코드
대문자 영문 : 97~122
소문자 영문 : 65~90
function solution(s, n) {
let upper = [];
for (let i=97; i<=122; i++) {
upper.push(String.fromCharCode(i));
}
let lower = [];
for (let i=65; i<=90; i++) {
lower.push(String.fromCharCode(i));
}
s=s.split('');
for (let i=0; i<s.length; i++) {
if (upper.includes(s[i])) {
s[i] = upper[(upper.indexOf(s[i])+n)%upper.length];
}
if (lower.includes(s[i])) {
s[i] = lower[(lower.indexOf(s[i])+n)%lower.length];
}
}
return s.join('');
}
console.log(solution("a B z", 4));
삼항연산자
function solution(s, n) {
var result = "";
for (var i=0; i<s.length;i++) {
if ( s[i] == ' ' )
result += ' '
else
result += String.fromCharCode( (s.charCodeAt(i)>90)?
(s.charCodeAt(i)+n-97)%26+97 : (s.charCodeAt(i)+n-65)%26+65 )
}
return result;
}