[프로그래머스] 시저 암호 (자바스크립트/javascropt)

스카치·2023년 2월 14일
0

//풀이 1
function solution(s, n) {
    // 소문자 97~122 대문자 65~90
    var answer = '';
    s.split('').map((v,i) => {
        let code = v.charCodeAt(0)
        if ( v === ' ') answer += v
        else if (code <= 90 && code + n > 90 || code <= 122 && code + n > 122) 
            answer += String.fromCharCode(code + (n % 26) - 26)                       
        else answer += String.fromCharCode(code + n)
        })
    
    return answer
}

// 풀이 2

function solution(s, n) {
    var result = s.replace(/[a-z]/ig, c => [ c = c.charCodeAt(0), String.fromCharCode((c & 96) + (c % 32 + n - 1) % 26 + 1) ][1]);
    return result;
}

0개의 댓글