def solution(s, skip, index):
answer = ''
alpha = [chr(i) for i in range(97,123)]*3
for i in s:
ss = alpha.index(i)
fin = ss+index
ls = alpha[ss:fin+1]
while True:
a = 0
for j in ls:
if j in skip:
ls.remove(j)
fin += 1
ls.append(alpha[fin])
a = 1
break
if a == 0:
answer += ls[-1]
break
return answer
풀이
내가 제일 기피하는 리스트에서 index 찾고 지우고 더하고 하는 코드이긴 하다..
그치만 딕셔너리 여러개, 넘버링 변수만 두고 풀어보기, 등등 별 방법을 써봤는데 통과가 안됐다.
코드가 아주아주 직관적이라 따로 해설은 안해도 될 것 같다.
그래도 간단히 설명을 해보자면 alpha에 *3을 한건 'z' 이후 'a'가 와야하는 조건 때문이었다. 그리고 while문에 a를 둔건, if문에 걸리지 않았을 때 answer에 답을 더하고 while문을 끝내기 위해서다.