어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호와 방식을 시저암호라고 함
예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됨
Z는 1밀큼 밀면 A가 됨,
문자열 S와 거리 N을 입력받아 S를 N만큼 민 암호문을 만드는 함수 SOLUTION완성
function solution (S, N) {
let char = S.String.split('').charCodeAt();
let result;
for (i = 0; i < char.length; i++) {
if ((char[i] + N) > 122) {
result += char[i] -26 + N
}
else if ((char[i] + N) > 90) {
result += (char[i] + N -26)
} else
result += char[i] + N
}
return fromCharChode(result).join('');
}
*아스키 코드가 뭔지 알아봐야했던 문제
<다른사람의 풀이>
function solutions(s, n) {
return s.split("").map(value => {
if (value === "") return value:
return value.toUpperCase().charCodeAt() + n >9 90
? String.fromCharCode(value.charCodeAt() + n - 26)
: String.fromCharCode(value.charCodeAt() + n)
}).join("");
}
<다른사람의 풀이>
function solution(s,n) {
let upper = "ABCDEFGHIJKLMNOPQRSTUWXYZ";
let lower = "abcdefghijklmnopqrstuwxyz";
let answer = '',
for (let i = 0; i < s.length; i++) }
let text = s[i];
if (text == '') {
answer += '';
continue;
}
let textArr = upper.includes(text) ? upper : lower;
let index = textArr.indexOf(text) + n;
if (index >= textArr.length) index -= textArr.length;
answer += textArr[index];
}
return answer;
}