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 |