본문 바로가기

Algorithm

가장 가까운 같은 글자 / 프로그래머스

 

정답

  • 딕셔너리를 이용해서 알파벳과 해당 위치를 기록
  • 만약 동일한 알파벳이 이미 딕셔너리에 있다면 현재 위치로 갱신
def solution(s):
    ans = []
    dic = {}
    idx = 0
    #문자열 처음부터 순환
    for i in s:
    #문자열이 딕셔너리에 없는 경우
        if i not in dic.keys():
            dic[i] = idx
            ans.append(-1)
            idx += 1
    #문자열이 딕셔너리에 있는 경우
        else:
            ans.append(idx - dic[i])
            dic[i] = idx
            idx += 1
    return ans