🤔 생각해보기
def solution(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)
실수
s = list(s)
리스트를 받음에 있어서 이게 가장 간단한 출력인듯 하다.
입력을 받고 for문으로 다시 array에 넣어주는 행동을 했었다...
s[i] = chr((ord(s[i]) - ord('A') + n)%26 + ord('A'))
1. 알파벳은 26개 이기 때문에 글자에 %26을 해준다. 이렇게 되면 나머지가 생기기 때문에 'z' 이후에 'a' 가 나올 수 있다. 2. 대문자 A 와 소문자 a 가 가진 아스키코드값이 다르기 때문에 if-else로 나눠줘야했었다.