def solution(s, n): result = [] for i in s : if i == " " : result.append(" ") else : ask = ord(i) + n if ask > ord("z") : ask_r = ord("a")-1 + (ask-ord("z")) result.append(chr(ask_r)) elif i.isupper() and ask > ord("Z") : ask_r = ord("A")-1 + (ask- ord("Z")) result.append(chr(ask_r)) else : result.append(chr(ask)) return ''.join(result)
문자를 아스키코드로 변형하여 n만큼 움직여준 뒤, 리스트에 추가해주는 방법
n만큼 이동한 아스키코드가 z(또는 Z)보다 크다면, 다시 a 혹은 A로 돌아와서 ask-ord("z") 만큼 움직여준다.
'Algorithm > Programmers' 카테고리의 다른 글
[Python] 자릿수 더하기 (0) | 2021.04.27 |
---|---|
[Python] 약수의 합 (0) | 2021.04.27 |
[Python] 주식가격 (0) | 2021.04.22 |
[Python] 프린터 (0) | 2021.04.22 |
[Python] 다음 큰 숫자 (0) | 2021.04.19 |