practivceAlgorithm/codeforce
[Codeforce][Python] #702 F. Equalize the Array
findTheValue
2021. 11. 7. 02:19
Counter map을 만든 후 set에 조사할 count들을 모은 후 순회하며 그 cnt보다 크면 cnt에 맞춰주고 작으면 0에 맞춰주는 식으로 풀었습니다.
import sys
input = sys.stdin.readline
from collections import defaultdict
for test in range(int(input())):
n = int(input())
arr = list(map(int, input().split()))
counter = defaultdict(int)
for num in arr:
counter[num] += 1
candidate = set()
for target in counter.values():
candidate.add(target)
answer = float('inf')
for target in candidate:
total = 0
for cnt in counter.values():
if cnt == target:
continue
if target > cnt:
total += cnt
else:
total += cnt - target
if total >= answer:
break
answer = min(answer, total)
print(answer)