728x90
반응형
다시 풀어보았다.
Python - 예전 코드에 비해 3분의 2로 효율성이 단축
dict를 for문으로 돌릴 때 del dict[key]하면 dictionary changed size iteration 오류가 나서 list(dict.items())로 for문을 돌려줘야 된다.
def solution(prices):
answer = [0] * len(prices)
price_dict = dict()
for i1, v1 in enumerate(prices):
get_price_index = price_dict.get(v1)
for k, v in list(price_dict.items()):
if k > v1:
for answer_i in v:
answer[answer_i] = i1 - answer_i
del price_dict[k]
if get_price_index:
price_dict[v1].append(i1)
else:
price_dict[v1] = [i1]
for k in price_dict.keys():
for answer_i in price_dict[k]:
answer[answer_i] = len(answer) - answer_i - 1
return answer
728x90
반응형