가장 가까운 같은 글자

최민수·2023년 2월 26일
0

알고리즘

목록 보기
15/94
from collections import defaultdict

def solution(s):
    answer = []
    
    # 완전탐색 -> 시간 초과 가능성
    # n^2 = 10^8
    basket = defaultdict(lambda: -1)
    
    for idx, item in enumerate(s):
        if basket[item] != -1:
            diff = idx - basket[item]
            answer.append(diff)
            basket[item] = idx
            continue

        answer.append(basket[item])
        basket[item] = idx
    
    return answer
  • defaultdict 선언 시 초기화를 lambda로 하는 법 알아두기.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

profile
CS, 개발 공부기록 🌱

0개의 댓글