(Lv. 1) 시저 암호 (문제 링크)
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 "시저 암호"라고 한다.
예를 들어, "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 된다. "z"는 1만큼 밀면 "a"가 된다.
문자열 s와 거리 n을 입력 받아 s를 n만큼 민 암호문을 return하는 solution 함수를 완성하라.
A
: 65 / Z
: 90 / a
: 97 / z
: 122)function solution(s, n) {
let answer = "";
const letters = s.split("");
const pushedLetters = letters.map((letter) => {
const letterCode = letter.charCodeAt(0);
// 대문자인 경우
if (letterCode >= "A".charCodeAt(0) && letterCode <= "Z".charCodeAt(0)) {
let pushedLetter = letterCode + n;
if (pushedLetter > "Z".charCodeAt(0)) {
pushedLetter -= 26;
}
return String.fromCharCode(pushedLetter);
}
// 소문자인 경우
else if (letterCode >= "a".charCodeAt(0) && letterCode <= "z".charCodeAt(0)) {
let pushedLetter = letterCode + n;
if (pushedLetter > "z".charCodeAt(0)) {
pushedLetter -= 26;
}
return String.fromCharCode(pushedLetter);
}
// 공백인 경우
return " ";
});
answer = pushedLetters.join("");
return answer;
}