최대 1 분 소요

https://school.programmers.co.kr/learn/courses/30/lessons/142086

.

문자열에서 각 글자가 앞에 같은 글자가 나왔다면, 몇칸 떨어져있는지 리턴하는 문제이다.

뒤로갈수록 문제가 길어져서 이해하는것도 꽤 오래 걸리는것 같다..

내 풀이

def solution(string):
    answer = []
    alp_idx = {s : -1 for s in string}
    for idx, s in enumerate(string) :
        if alp_idx[s] == -1 : # 처음 등장
            answer.append(-1) # -1 리턴
        else :
            diff = idx - alp_idx[s] # 인덱스의 차이
            answer.append(diff)
        alp_idx[s] = idx # 해당 글자 인덱스를 현재 인덱스로 갱신
        
    return answer

댓글남기기