Haribo ML, AI, MATH, Algorithm

최고의 집합

2021-01-29
Haribo

def solution(n, s):
    num, res = divmod(s, n)
    if n > s :
        return [-1]
    answer = [num for _ in range(n)]
    for i in range(res) :
        answer[-1-i] += 1
    return answer

분산을 최소로

각원소의 곱이 최대가 되려면 집합의 분산이 최소로 되어야한다.

sn등분한 집합을 만든후 s % n 만큼 각각의 원소에 1더해주어 분산을 최소로 만든다.

쉬운문제라 직접 코드 돌려보면 바로 이해가능


Similar Posts

이전 포스트 징검다리 건너기

다음 포스트 하노이의 탑

Comments