Posts [알고리즘] 프로그래머스 - 최고의 집합
Post
Cancel

[알고리즘] 프로그래머스 - 최고의 집합


문제

최고의 집합


접근

원소들의 곱의 최대는 각 원소의 크기를 고르게 키워줘야 한다.
즉 주어지는 수 s를 n으로 나눈 몫 이상을 모든 원소가 가졌을 때가 가장 크다.
따라서, 기본적으로 몫을 모든 원소가 가진채로 나머지를 각 원소에 한개씩 더해준다.

코드

  • 파이썬 코드
1
2
3
4
5
6
7
8
9
10
11
12
def solution(n, s):
    answer = []
    divisor = s // n
    re = s % n
    if divisor == 0:
        return [-1]
    for i in range(n):
        if n - i > re:
            answer.append(divisor)
        else:
            answer.append(divisor+1)
    return answer


This post is licensed under CC BY 4.0 by the author.