문제 확인

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 풀이

  • 아직 문자가 나오지 않은 경우엔 $-1$ 값을 가지기 때문에 초기 answer 성분을 -1로 설정했다. 
def solution(s):
    char_set = {}
    # -1로 초기화
    answer = [-1] * len(s)
    for i, char in enumerate(s):
        # 문자가 이미 나온 경우
        if char in char_set:
            answer[i] = i - char_set[char]
        # 위치 정보 업데이트
        char_set[char] = i 
            
    return answer