문제 설명
문제 해결
시저 암호를 구현하면 되는 문제이다.
대문자, 소문자, 공백이 문자열에 섞일 수 있다는 것을 생각하고 코딩하면 어렵지 않다.
string 라이브러리에서 ascii_lowercase, ascii_uppercase 상수를 이용한다.
상수들을 tuple 형태의 데이터로 저장한 후, 각 문자에 해당하는 tuple의 index를 찾고 n만큼 떨어진 문자를 결과에
추가하는 방식으로 코드를 구현해주면 된다.
import string
def solve(s,n):
res = ''
ll = tuple(string.ascii_lowercase)
ul = tuple(string.ascii_uppercase)
for i in range(len(s)):
if s[i].isupper():
res += ul[(ul.index(s[i]) + n) % 26]
elif s[i].islower():
res += ll[(ll.index(s[i]) + n) % 26]
elif s[i] == ' ':
res += s[i]
return res
def solution(s, n):
answer = solve(s,n)
return answer
'Algorithm > 프로그래머스 연습 문제' 카테고리의 다른 글
프로그래머스 / 코딩 테스트 / 약수의 합 (0) | 2020.12.24 |
---|---|
프로그래머스 / 코딩 테스트 / 내적 (0) | 2020.12.24 |
프로그래머스 / 코딩 테스트 / 문자열을 정수로 바꾸기 (0) | 2020.12.24 |
프로그래머스 / 코딩 테스트 / 수박수박수박수박수박수? (0) | 2020.12.24 |
프로그래머스 / 코딩 테스트 / 두 개 뽑아서 더하기 (0) | 2020.12.24 |