https://school.programmers.co.kr/learn/courses/30/lessons/12926
풀이 - 나의 생각
아스키 코드 값과 나머지를 활용하는 방법으로
대문자, 소문자 모두 구하는 방법은 같습니다.
함수로 빼면 코드 중복을 막을 수 있겠지만
간단한 연산이기에 그냥 뒀습니다.
예시
"a" 는 아스키 코드로 97
"z" 는 122 입니다.
ch = "z" 일때
ord("z") - ord("a") = 25
이에 n을 더해준다면
25 + n 이 되겠죠
그 값을 알파벳 개수인 26으로 나눈 나머지 값을 ord("a") 더 해주면
우리가 찾는 알파벳이 되는 겁니다.
z -> a -> b -> c -> d ...... -> target
코드
def solution(s, n):
answer = ''
for ch in s:
if ch == " ":
answer += ch
elif "A" <= ch <= "Z":
answer += chr((ord(ch) - ord("A") + n) % 26 + ord("A"))
elif "a" <= ch <= "z":
answer += chr((ord(ch) - ord("a") + n) % 26 + ord("a"))
return answer
728x90
'프로그래머스 > Lv.1' 카테고리의 다른 글
월간 코드 챌린지 시즌1 > 내적 - Python, zip, sum (0) | 2024.12.02 |
---|---|
삼총사 - Python, combinations (0) | 2024.11.30 |
서울에서 김서방 찾기 - Python, format (0) | 2024.11.27 |
과일 장수 - Pyton (0) | 2024.11.27 |
Summer/Winter Coding(~2018) > 소수 만들기 - Pyton, Combinations, 조합, 소수 (0) | 2024.11.26 |