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

이재윤·2025년 1월 27일

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

1) 코드

def solution(n, s):
    answer = []
    
    if n > s:
        return [-1]
    else:
        num1 = s // n
        for i in range(n):
            answer.append(num1)
        
        num2 = s % n 
        pos = 0 
        while num2 != 0:
            answer[pos] += 1 
            pos += 1 
            pos %= n 
            num2 -= 1 
        
        answer.sort() 
        
    
    return answer

2) 해설

  • 각 숫자간의 차가 제일 작을 때, 곱이 최대가 될 수 있다는 점을 이해해서
    코드를 짜주면 된다
    -> 일종의 수학적 개념에 대한 이해가 필요한 문제라고 할 수 있다.

0개의 댓글