TIL/Python

프로그래머스 <가장 가까운 글자>

jojoon2786 2024. 7. 19. 11:47

 

나의 풀이)

def solution(s):
    answer = []
    visited = {}
    for i,j in enumerate(s):
        if j in visited:
            diff = i - visited[j] + 1
            answer.append(diff)
            visited[j] = i+1
        else:
            answer.append(-1)
            visited[j] = i+1
    return answer

enumerate()를 사용해서 값과 순서를 이용, visited 딕셔너리에 값과 마지막으로 나왔던 인덱스를 저장하여 해결하였다.

처음 나오면 -1, 또 나오면 마지막 위치를 가져와서 사용