[프로그래머스] Lv3 최고의 집합

링크 : 연습문제 > 최고의 집합


코드

def solution(n, s):
    answer = [] 
    if s // n == 0:
        return [-1]
    
    while n > 0:    
        answer.append(s // n)
        s -= s // n
        n -= 1
        
    return answer

풀이

  • n개의 원소의 합이 s가 되도록 만들어야된다.
  • 집합의 곱이 가장 크려면 집합 원소를 최대한 큰 수로 구성한 후 곱하면 된다.
  • sn으로 나눈 수를 answer에 추가하고 그 수를 제외한 상태에서 또 가장 큰 수를 구한다.

좋은 웹페이지 즐겨찾기