프로그래머스 Lv1. 시저 암호

문제

https://programmers.co.kr/learn/courses/30/lessons/12926


접근

  1. 아스키코드
  2. 문자열 → 리스트 → 문자열 문자열

코드

📌 python

def solution(s, n):
    def code_s(x) :
        if ord(x) == 32 :
            return " "
        if 65 <= ord(x) <= 90 :
            if ord(x)+n > 90 :
                return chr(ord(x)+n-26)
            return chr(ord(x)+n)
        
        if 97 <= ord(x) <= 122 :
            if ord(x)+n > 122 :
                return chr(ord(x)+n-26)
            return chr(ord(x)+n)
    
    return "".join([code_s(x) for x in s])

📌 js

function solution(s, n) {
    function changeS(x){
        if (x.charCodeAt() == 32){
            return String.fromCharCode(x.charCodeAt())
        };
        if (x.charCodeAt() >= 65  && x.charCodeAt() <= 90){
            if (x.charCodeAt()+n > 90){
                return String.fromCharCode(x.charCodeAt()+n-26)
            }
            return String.fromCharCode(x.charCodeAt()+n)
        };
        if (x.charCodeAt() >= 97  && x.charCodeAt() <= 122){
            if (x.charCodeAt()+n > 122){
                return String.fromCharCode(x.charCodeAt()+n-26)
            }
            return String.fromCharCode(x.charCodeAt()+n)
        };
    }
    
    return s.split("").map(x => changeS(x)).join("")
}

좋은 웹페이지 즐겨찾기