Search
Duplicate

야근 지수

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

from collections import Counter def solution(n, works): if sum(works) <= n: return 0 cnt = Counter(works) while n > 0: # 가장 오래 걸리는 일의 시간을 찾아냅니다. m = max(cnt.keys()) c = cnt[m] # 만약 가장 오래 걸리는 일의 개수가 n보다 작다면 그 일을 1시간씩 합니다. if c < n: cnt -= Counter({m: c}) cnt += Counter({m-1: c}) n -= c # 만약 가장 오래 걸리는 일의 개수가 n보다 많다면 그 중 n개의 일만 처리하고 값을 리턴합니다. else: cnt -= Counter({m: n}) cnt += Counter({m-1: n}) return sum(k**2 * v for k, v in cnt.items()) return sum(k**2 * v for k, v in cnt.items())
Python
복사

출처

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