def solution(s, n):
answer = ''
for i in list(s):
if i == ' ': answer += ' '
elif 'a' <= i <= 'z':
if ord('z') < ord(i) + n:
answer += chr(ord(i) + n - 26)
else:
answer += chr(ord(i)+n)
else:
if ord('Z') < ord(i) + n:
answer += chr(ord(i) + n -26)
else:
answer += chr(ord(i) + n)
return answer
- 공백일 땐 그대로 공백 처리를 해준다.
- 알파벳+n을 했을 때, 'z'를 넘어간다면 다시 알파벳의 시작으로 돌아가게 한다.
- 알파벳은 26개 >> 즉, -26을 해줌으로써 a로 돌아가도록 설정
- 아닐 경우 그대로 더한 후 변환
파이썬에서 ord()와 chr() 함수는 문자와 해당 문자의 아스키 코드 값을 변환하는 데 사용
- ord() 함수:
- ord('a')는 문자 'a'의 아스키 코드 값인 97을 반환
- chr() 함수:
- chr(97)은 아스키 코드 값이 97인 문자(a)를 반환 >> 이는 소문자 'a'를 의미
https://school.programmers.co.kr/learn/courses/30/lessons/12926
'코테 > 프로그래머스' 카테고리의 다른 글
내적 - python (0) | 2024.04.17 |
---|---|
약수의 합 - python (0) | 2024.04.16 |
제일 작은 수 제거하기 - python (0) | 2024.04.16 |