자료구조&알고리즘/Kotlin 활용
프로그래머스 - 시저 암호
김검정
2024. 8. 23. 11:23
https://school.programmers.co.kr/learn/courses/30/lessons/12926
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
여기서 생각해봐야 할 문제는 주어진 숫자만큼 더하다 보면 숫자가 알파벳의 범위를 벗어날 수 있다는 것이다. 만약 결과가 알파벳의 범위를 벗어나면 해당 알파벳의 처음인 a 또는 A로 돌아가야 한다.(소문자z -> 소문자 a, 대문자 Z -> 대문자 A).
def solution(s, n):
s = list(s)
for i in range(len(s)):
if s[i] == ' ' : continue
corr = ord('A') if s[i].isupper() else ord('a')
s[i] = chr((ord(s[i]) - corr + n) % 26 + corr)
return ''.join(s)