입출력 예시
s  | skip  | index  | result  | 
"aukks"  | "wbqd"  | 5  | "happy"  | 
나의 코드
def solution(s, skip, index):
    lst = [chr(x) for x in range(97, 123)] # alphabet list
    lst = [x for x in lst if x not in skip]
    answer = [lst[(lst.index(x)+index)%len(lst)] for x in s]
    return ''.join(answer)
Python
복사
다른 풀이
from string import ascii_lowercase
def solution(s, skip, index):
    result = ''
    a_to_z = set(ascii_lowercase)
    a_to_z -= set(skip)
    a_to_z = sorted(a_to_z)
    l = len(a_to_z)
    dic_alpha = {alpha:idx for idx, alpha in enumerate(a_to_z)}
    for i in s:
        result += a_to_z[(dic_alpha[i] + index) % l]
    return result
Python
복사
개선점 분석
•
ascii_lowercase 라는 module을 알았으면 더 쉬웠을 것.
•
dictionary를 사용해서 더 빠른 속도로 찾을 것.