Search
Duplicate

보석 쇼핑

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

from collections import Counter def solution(gems): # 투 포인터로 해결합니다. answers = [] nunique = len(set(gems)) cnt = Counter() i, j = 0, 0 while j < len(gems): while j < len(gems) and len(cnt) != nunique: cnt[gems[j]] += 1 j += 1 while i < len(gems) and len(cnt) == nunique: cnt[gems[i]] -= 1 if cnt[gems[i]] == 0: cnt.pop(gems[i]) i += 1 answers.append((j-i, i, j)) answers.sort() return answers[0][1], answers[0][2]
Python
복사

출처

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