https://school.programmers.co.kr/learn/courses/30/lessons/12926
연습문제
def solution(s, n):
U = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
L = "abcdefghijklmnopqrstuvwxyz"
answer = ''
for i in s:
if i in U:
answer += U[(U.index(i) +n) % len(U)]
elif i in L:
answer += L[(L.index(i) +n) % len(L)]
else:
answer += ' '
return answer
def caesar(s, n):
s = list(s)
for i in range(len(s)):
if s[i].isupper():
s[i]=chr((ord(s[i])-ord('A')+ n)%26+ord('A'))
elif s[i].islower():
s[i]=chr((ord(s[i])-ord('a')+ n)%26+ord('a'))
return "".join(s)
ord()와 chr()를 이용했다.
나는 몰랐음
ord(): 아스키코드 값을 정수형으로 변환
chr(): 정수형 값을 아스키코드 값으로 변환
아래 예시
print(ord('a'), ord('b'))
print(chr(97), chr(98))
97 98
a b