-
시저 암호 [JavaScript]2018~2019/Level 1 2018. 10. 1. 22:48
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
function solution(s, n) { var answer = ''; answer = s.split('').map(a => { var code = a.charCodeAt(0); if(code === 32) return ' '; if(code >= 65 && code <= 90) { if(code+n > 90) return String.fromCharCode(code+n-26); else return String.fromCharCode(code+n); } else if(code >= 97 && code <= 122) { if(code+n > 122) return String.fromCharCode(code+n-26); else return String.fromCharCode(code+n); } }).join(''); return answer; }
- 문자열을 split하여 요소로 쪼갠다.
- map을 통해 아스키코드 값을 구한다.
- 공백인 경우(아스키 코드 값 32) 그대로 공백을 반환한다.
- 65~90 대문자인 경우와 97~122 소문자인 경우를 나눈다.
- 90과 122을 넘어가는 경우 26을 빼준다.
- join을 통해 다시 문자열을 합친다.
'2018~2019 > Level 1' 카테고리의 다른 글
이상한 문자 만들기 [JavaScript] (0) 2018.10.01 약수의 합 [JavaScript] (0) 2018.10.01 문자열을 정수로 바꾸기 [Python, JavaScript] (0) 2018.10.01 수박수박수박수박수박수? [Python3] (0) 2018.10.01 소수 찾기 [C++] (0) 2018.10.01