동캄의 코딩도장

프로그래머스 level3 [최고의 집합] 파이썬 본문

코테/프로그래머스

프로그래머스 level3 [최고의 집합] 파이썬

동 캄 2022. 4. 11. 09:50

https://programmers.co.kr/learn/courses/30/lessons/12938

 

코딩테스트 연습 - 최고의 집합

자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만

programmers.co.kr

# 프로그래머스 최고의 집합

def solution(n, s):
    answer = []
    if n > s:
        answer.append(-1)
    else:
        stan = s//n
        left = s % n
        for i in range(n-left):
            answer.append(stan)
        for i in range(left):
            answer.append(1+stan)
    return answer

stan=n//s= n개의 값 생성

left=n%s= left개수만큼 1을 더해줌

--> 모든 배열은 각 원소의 차이가 0 또는 1이 되므로 곱이 최대가 된다.