## 🔒 문제. 둘만의 암호
def solution(s, skip, index):
answer = ''
## 알파벳 리스트 생성 (아스키 코드)
alpha = [chr(i) for i in range(97, 123)]
## 생성한 알파벳 리스트에서 skip할 알파벳 제외
alpha = list(set(alpha) - set(skip))
alpha.sort()
## 변환 (s의 문자열에 index값 만큼 순서를 미룬다)
for j in s:
idxx_old = alpha.index(j) ## index 추가 전 값
idxx_new = idxx_old + index ## index 추가 후 값
## 단, 새로운 알파벳 위치 값이 z의 위치를 넘어가는 경우 다시 앞에서부터 돌아가기
if idxx_new >= len(alpha):
idxx_fin = idxx_new % len(alpha) ## 반례 : print(solution("abcd", "efghijklmnopqrstuvwxyz", 20))
else:
idxx_fin = idxx_new
answer = answer + str(alpha[idxx_fin])
return answer
#print(solution("abcd", "efghijklmnopqrstuvwxyz", 20))
#print(solution("aukks", "wbqd", 5))
#print(solution("aceg", "bf", 1))
Python/코테 연습