![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb8QgTv%2FbtsF2MzXrLT%2FKco3ujvi8OkKh5BuhAN7GK%2Fimg.png)
Programmers / 3단계 / 최고의 집합 / python
·
코딩테스트/programmers (python)
https://school.programmers.co.kr/learn/courses/30/lessons/12938 모범 답안 def solution(n, s): answer=[] if s < n: return [-1] for _ in range(n): answer.append(s//n) indexs = len(answer)-1 for i in range(s - sum(answer)): answer[indexs] += 1 indexs -= 1 return answer 원소의 곱이 최대가 되려면 원소끼리의 차가 적어야 하기 때문에 s//n을 answer에 n번 넣은 후 원소의 합에서 모자란 수만큼 for문을 돌려 answer의 마지막 인덱스부터 1을 더해가면 답을 구할 수 있다. 참조 https://minn..