문제
https://programmers.co.kr/learn/courses/30/lessons/12926
접근
- 아스키코드
- 문자열 → 리스트 → 문자열 문자열
코드
📌 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("")
}