[파이썬 프로그래머스] 시저 암호
업데이트:
❓ 문제
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다.
예를 들어 "AB"
는 1만큼 밀면 "BC"
가 되고, 3만큼 밀면 "DE"
가 됩니다. "z"
는 1만큼 밀면 "a"
가 됩니다.
문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
> 제한 조건
- 공백은 아무리 밀어도 공백입니다.
- s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.
- s의 길이는 8000이하입니다.
- n은 1 이상, 25이하인 자연수입니다.
✔️ 풀이
1
2
3
4
5
6
7
8
9
10
def solution(s, n):
answer = ''
for ss in s:
if ss.islower():
answer += chr(ord('a') + (ord(ss)+n-ord('a')) % 26)
elif ss.isupper():
answer += chr(ord('A') + (ord(ss)+n-ord('A')) % 26)
else:
answer += ss
return answer
아스키코드를 이용해주었다.
Notice: 이 게시물은 programmers.co.kr 사이트를 참고하였습니다.
댓글남기기