코딩테스트

[프로그래머스] 가장 가까운 같은 글자 - Lv.1

pyflu 2023. 8. 16. 03:28

[프로그래머스] 가장 가까운 같은 글자 - Lv.1

 

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

 

프로그래머스

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

programmers.co.kr


 

 


# 프로그래머스 | 가장 가까운 같은 글자
def solution(s):
   
    #dict() / 알파벳:위치(인덱스) {"alp":idx}
    alp_idx = {}
   
    result = []
   
    for idx, alp in enumerate(s):
       
        #alp이 alp_idx의 key중에 없으면 result에 -1 추가
        if alp not in alp_idx:    
            result.append(-1)
       
        #alp이 alp_idx의 key중에 있으면 result에
        #(alp의 현재위치) - (alp_idx안에 있는 alp 위치) 추가
        else:    
            result.append(idx - alp_idx[alp])
       
        #alp_idx에 {alp:현재 위치} 추가(리셋)
        alp_idx[alp] = idx
   
    return result

728x90