본문 바로가기
프로그래머스/lv.1

(프로그래머스) lv.1 가장 가까운 같은 글자

by bingual 2024. 1. 15.
반응형

 

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

 

프로그래머스

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

programmers.co.kr

문제풀이

def solution(s):
    answer = []
    t_dict = {}

    for i, w in enumerate(s):
        # 딕셔너리 키에 현재 문자가 포함되어 있지 않다면
        if w not in t_dict:
            answer.append(-1)
            t_dict[w] = i  # 키: 현재 문자, 값: 현재 인덱스인 딕셔너리 추가
        else:
            # 현재 인덱스 - 지금까지 저장한 가장 가까운 같은 문자의 인덱스
            answer.append(i - t_dict[w])
            t_dict[w] = i

    return answer