내가 모르는점 : z 에서 a로 돌아가는 방법은
알파벳 숫자가 26개이므로 인덱스의 값의 26의 나머지를 이용하는것이다.
일단 1~25까지는 25가 나오므로 괜찮음
26이상의 값부터는 0, 1 ,2 가 나오기때문에 앞으로 돌아가서 원하는 값을 빼올 수 있다
def solution(s, n):
answer = ''
bigarr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
smallarr = "abcdefghijklmnopqrstuvwxyz"
arr = []
for i in s:
if i in bigarr:
idx = bigarr.index(i)
arr.append(bigarr[(idx+n)%26])
elif i in smallarr:
idx = smallarr.index(i)
arr.append(smallarr[(idx+n)%26])
if i == " ":
arr.append(" ")
return "".join(arr)
'💡 Codeing Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 2019 카카오 인턴 문제 : 실패율 (python) (0) | 2023.02.15 |
---|---|
[프로그래머스] 핸드폰 번호 가리기 (python) (0) | 2023.02.14 |
[프로그래머스] 가장 큰 수 (python) (0) | 2023.02.05 |
[프로그래머스] h-Index (python) (0) | 2023.02.05 |
[프로그래머스] 타겟 넘버 (python), DFS (0) | 2023.01.29 |