220329 시저 암호
프로그래머스 12926번 문제
내 풀이
function solution(s, n) {
let answer = "";
let arr = s
.split("")
.map((cur, idx) => (cur == " " ? cur : s.charCodeAt(idx) + n));
for (let i = 0; i < arr.length; i++) {
if (arr[i] === " ") {
arr[i] = " ";
} else {
if (s[i] === s[i].toUpperCase()) {
91 <= arr[i]
? (arr[i] = String.fromCharCode(arr[i] - 26))
: (arr[i] = String.fromCharCode(arr[i]));
} else if (s[i] === s[i].toLowerCase()) {
123 <= arr[i]
? (arr[i] = String.fromCharCode(arr[i] - 26))
: (arr[i] = String.fromCharCode(arr[i]));
}
}
}
return arr.join("");
}
- 문자열 s를 split( )를 이용하여 arr이라는 배열로 바꾸고,
그 배열을 map함수를 통해서 문자인 경우 아스키 코드로 바꾼다 - if문으로 공백일 때, 대문자일 때, 소문자 일 때를 조건으로 그 안에 삼항 연산자로 arr의 요소를 아스키 코드에서 문자열로 바꿔준다
- 반환받은 배열을 join 함수로 하나로 연결한다
Author And Source
이 문제에 관하여(220329 시저 암호), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nulee1000/220329-시저-암호저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)