코딩테스트 연습 - 시저 암호
어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀
programmers.co.kr
def solution(s, n):
answer = ''
for x in s:
if x == ' ':
answer += ' '
else:
if x.isupper():
answer += chr((ord(x)-ord('A') + n) % 26+ord('A'))
elif x.islower():
answer += chr((ord(x)-ord('a') + n) % 26+ord('a'))
return answer
풀이
1. 공백은 공백을 그대로 넣어준다.
2. 대문자일 경우
- 아스키코드화이후, 'A' + (x-'A'+n을 26으로 나눈 나머지)
3. 소문자일 경우
- - 아스키코드화이후, 'a' + (x-'a'+n을 26으로 나눈 나머지)
4. answer 리턴
ord : 문자를 아스키코드로
chr : 아스키코드를 문자로
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv1 - 이상한 문자 만들기 (파이썬) (0) | 2022.03.23 |
---|---|
[프로그래머스] Lv1 - 약수의 합 (파이썬) (0) | 2022.03.23 |
[프로그래머스] Lv1 - 문자열을 정수로 바꾸기 (파이썬) (0) | 2022.03.23 |
[프로그래머스] Lv1 - 수박수박수박수박수박수? (파이썬) (0) | 2022.03.22 |
[프로그래머스] Lv1 - 소수 찾기 (파이썬) (0) | 2022.03.22 |