티스토리 뷰
문제 설명
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB
는 1만큼 밀면 BC
가 되고, 3만큼 밀면 DE
가 됩니다. z
는 1만큼 밀면 a
가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요.
제한 조건
- 공백은 아무리 밀어도 공백입니다.
- s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다.
- s의 길이는 8000이하입니다.
- n은 1 이상, 25이하인 자연수입니다.
입출력 예
s | n | result |
---|---|---|
AB | 1 | BC |
z | 1 | a |
a B z | 4 | e F d |
https://programmers.co.kr/learn/courses/30/lessons/12926
def solution(s, n):
az = "abcdefghijklmnopqrstuvwxyz"
result = ""
for item in s:
if not item.isalpha():
result += item
continue
idx = az.index(item.lower())
tmp = az[idx+n if idx+n < len(az) else idx+n-len(az)]
result += tmp.lower() if item.islower() else tmp.upper()
return result
print(solution("a B z", 4))
'python lecture > programmers' 카테고리의 다른 글
[edu] 문자열 내 p 와 y 의 개수 (프로그래머스 lv1) (0) | 2018.12.18 |
---|---|
[edu] 문자열 다루기 기본 (프로그래머스 lv1) (0) | 2018.12.18 |
[edu] 문자열 내림차순으로 배치하기 (프로그래머스 lv1) (0) | 2018.12.15 |
[edu] 나누어 떨어지는 숫자 배열 (프로그래머스 lv1) (0) | 2018.12.15 |
[edu] 문자열 내 마음대로 정렬하기(프로그래스 lv1) (0) | 2018.12.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 문과 코딩
- 파이썬 강좌
- virtualenv
- django
- pycrypto
- admin.py
- django chatbot
- gitlab
- 모바일 테마 적용
- chatbot
- 면접답변
- 엑셀 비교
- wsgi
- 이미지 비교
- 장고 플러스친구 자동응답
- 파이썬 독학
- 파이썬 프로그래밍
- 플러스친구 자동응답
- 면접정답
- PuTTYGen
- 모바일 스킨 적용
- 장고
- gitignore
- 장고 카톡 자동응답
- Python
- 문서 비교
- Tistory
- GIT
- 파이썬
- 파이썬 입문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함