최대 1 분 소요

문제

40

해결과정

  1. 알파벳의 아스키 코드를 이용
  2. z나 Z가 되면 a,A로 돌아가야 하기 때문에 각 z의 아스키 코드에서 26을 빼준다

:pushpin: 알파벳의 소문자 대문자의 아스키 코드가 이어져 있지 않다.

  • 소문자, 대문자를 별도로 계산해야 함
  • 따라서 대문자를 계산할 때 소문자의 아스키 코드가 겹치지 않도록 조건을 넣어주어야 한다
    • num + n > 90 && num <= 90
function solution(s, n) {
    var answer = '';
    for(let i = 0; i<s.length; i++){
        let num = s.charCodeAt(i)
        if((num + n > 90 && num <= 90 ) || num + n > 122){
            answer += String.fromCharCode((num + n) - 26)
        } else if(s[i] === ' ') {
            answer += ' '
        } else {
            answer += String.fromCharCode(num + n)
        }
    }
    return answer;
}