반응형
출처
https://programmers.co.kr/learn/courses/30/lessons/12926
문제
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식
"AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"
s는 알파벳 소문자, 대문자, 공백이고,
공백은 아무리 밀어도 공백
입출력예시
"AB"
"z"'
"a B z"
문제풀이1
def solution(s, n):
sentense = s
answer = ""
대문자 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
소문자 = "abcdefghijklmnopqrstuvwxyz"
for i in range(len(sentense)):
if sentense[i] in 대문자:
new_idx = (대문자.find(sentense[i]) + n) % len(대문자)
answer += 대문자[new_idx]
elif sentense[i] in 소문자:
new_idx = (소문자.find(sentense[i]) + n) % len(소문자)
answer += 소문자[new_idx]
else:
answer += sentense[i]
return answer
반응형
'컴퓨터 > 알고리즘' 카테고리의 다른 글
[백준] 2747번 피보나치 수 문제풀이(python) (0) | 2022.08.01 |
---|---|
[백준] 10872번 팩토리얼 문제 풀이 (python) (0) | 2022.07.31 |
[프로그래머스] Lv1 가운데 글자 가져오기_python 문제 풀이 (0) | 2022.07.08 |
[프로그래머스] Lv1 이상한 문자 만들기_python 문제 풀이 (0) | 2022.07.07 |
[프로그래머스] Lv1 콜라츠 추측_python 문제 풀이 (0) | 2022.07.06 |
댓글