[programmers] 보석 쇼핑 (2020 카카오 인턴십)
resilient
·2021. 9. 3. 23:48
728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/67258#
코딩테스트 연습 - 보석 쇼핑
["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7]
programmers.co.kr
def solution(gems):
length = len(set(gems))
gem_length = len(gems)
start = 0
end = 0
temp = [0, gem_length]
dic = {gems[0] : 1}
while start < gem_length and end < gem_length:
print(dic)
if len(dic) == length:
if end-start < temp[1] -temp[0]:
temp = [start, end]
if dic[gems[start]] == 1:
del dic[gems[start]]
else:
dic[gems[start]] -= 1
start += 1
else:
end += 1
if end == gem_length:
break
if gems[end] in dic.keys():
dic[gems[end]] += 1
else:
dic[gems[end]] = 1
return [temp[0]+1,temp[1]+1]
반응형
'자료구조 & 알고리즘 > 프로그래머스(programmers)' 카테고리의 다른 글
[programmers] 순위 검색 (2021 카카오 블라인드 채용) (0) | 2021.12.17 |
---|---|
[programmers] 실패율 (2019 카카오 블라인드 채용) (0) | 2021.09.04 |
[programmers ] 캐시 (2018 카카오 블라인드 채용) (0) | 2021.09.01 |
[programmers] 뉴스클러스터링(2018 카카오 블라인드 채용) (0) | 2021.08.30 |
[programmers] 크레인인형뽑기게임 (2019 카카오 개발자 겨울 인턴십) (0) | 2021.08.24 |