프로그래머스에서 시저 암호 문제를 푸는데 아스키코드 변환하는 문제가 나왔다.
하지만 ~!
python에도 ord(), chr() 함수가 있지롱
ord("a") = 97
chr(97) = "a"
이러한 아스키코드 변환 함수를 활용해서 푼 나의 시저 암호 풀이
def solution(s, n):
answer = ""
for i in s:
if i == " ":
answer += " "
elif i.isupper():
answer += chr((ord(i)-ord("A")+n)%26+ord("A"))
else:
answer += chr((ord(i)-ord("a")+n)%26+ord("a"))
return answer
❓ %26을 하는 이유는 "z" -> "a" / "Z" -> "A" 인 경우를 위해서 알파벳 개수인 26개로 나눈 나머지 값을 활용하기!