글 작성자: 망고좋아
반응형

 

🎯 시저 암호

📁 문제 출처

 

코딩테스트 연습 - 시저 암호

어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀

programmers.co.kr

 

💡 생각

  • 문자열을 아스키코드로 변환해서 대소문자 구별해서 풀기
    • 대문자 : 65~90
    • 소문자 : 97~122
  • fromCharCodecharCodeAt를 사용해서 풀기

 

🛠 나의 코드

function solution(s, n) {
    let ans = '';

    s.split('').forEach(el => {
        if (el === " ") {
            ans += el
        } else {
            ans += String.fromCharCode(el.charCodeAt(0) > 90 ? (el.charCodeAt(0) + n - 97) % 26 + 97 : (el.charCodeAt(0) + n - 65) % 26 + 65);
        }
    });
    return ans;
}
반응형