본문 바로가기

⏳ 알고리즘/python 알고리즘 문제 풀이

알고리즘 문제 - LV3. 최고의 집합

문제

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

 

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

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

programmers.co.kr

 

코드

1) 나머지 개수만큼 +1

def solution(n, s):
    if n > s:
        return [-1]
    
    div = s//n
    rem = s%n
    answer = [div]*(n)
    print("answer =",answer)
    print("나머지 =",rem)
    
    for k in range(0, rem):
        answer[k] += 1
    answer.sort()
    print(answer)
    
    return answer