프로그래머스 LEVEL 1(시저 암호)
-
사용 언어 : javascript
-
해결 날짜 : 2022-08-26
-
해결 방법 :
- 문자열을 돌며 n만큼 shift했을 때 Z(90), z(122)보다 크다면 26만큼 빼기
-
회고 : 아스키 코드 없이 string에 할당
-
코드
function solution(s, n) { var answer = ''; for (let i = 0; i < s.length; i++) { if (s.charAt(i) === ' ') { answer += ' '; continue; } let charCode = s.charCodeAt(i); if (charCode >= 65 && charCode <= 90) { charCode = charCode + n > 90 ? charCode + n - 26 : charCode + n; answer += String.fromCharCode(charCode); } else { charCode = charCode + n > 122 ? charCode + n - 26 : charCode + n; answer += String.fromCharCode(charCode); } } return answer; }
-
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges