|
| 1 | +# [level 3] 최고의 집합 - 12938 |
| 2 | + |
| 3 | +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/12938) |
| 4 | + |
| 5 | +### 성능 요약 |
| 6 | + |
| 7 | +메모리: 9.9 MB, 시간: 0.77 ms |
| 8 | + |
| 9 | +### 구분 |
| 10 | + |
| 11 | +코딩테스트 연습 > 연습문제 |
| 12 | + |
| 13 | +### 채점결과 |
| 14 | + |
| 15 | +정확성: 70.0<br/>효율성: 30.0<br/>합계: 100.0 / 100.0 |
| 16 | + |
| 17 | +### 제출 일자 |
| 18 | + |
| 19 | +2025년 05월 16일 21:28:50 |
| 20 | + |
| 21 | +### 문제 설명 |
| 22 | + |
| 23 | +<p>자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다.</p> |
| 24 | + |
| 25 | +<ol> |
| 26 | +<li>각 원소의 합이 S가 되는 수의 집합</li> |
| 27 | +<li>위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합</li> |
| 28 | +</ol> |
| 29 | + |
| 30 | +<p>예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다.<br> |
| 31 | +{ 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 }<br> |
| 32 | +그중 각 원소의 곱이 최대인 { 4, 5 }가 최고의 집합입니다.</p> |
| 33 | + |
| 34 | +<p>집합의 원소의 개수 n과 모든 원소들의 합 s가 매개변수로 주어질 때, 최고의 집합을 return 하는 solution 함수를 완성해주세요.</p> |
| 35 | + |
| 36 | +<h5>제한사항</h5> |
| 37 | + |
| 38 | +<ul> |
| 39 | +<li>최고의 집합은 <strong>오름차순으로 정렬된 1차원 배열(list, vector)</strong> 로 return 해주세요.</li> |
| 40 | +<li>만약 최고의 집합이 존재하지 않는 경우에 <strong>크기가 1인 1차원 배열(list, vector)</strong> 에 <code>-1</code> 을 채워서 return 해주세요.</li> |
| 41 | +<li>자연수의 개수 n은 1 이상 10,000 이하의 자연수입니다.</li> |
| 42 | +<li>모든 원소들의 합 s는 1 이상, 100,000,000 이하의 자연수입니다.</li> |
| 43 | +</ul> |
| 44 | + |
| 45 | +<hr> |
| 46 | + |
| 47 | +<h5>입출력 예</h5> |
| 48 | +<table class="table"> |
| 49 | + <thead><tr> |
| 50 | +<th>n</th> |
| 51 | +<th>s</th> |
| 52 | +<th>result</th> |
| 53 | +</tr> |
| 54 | +</thead> |
| 55 | + <tbody><tr> |
| 56 | +<td>2</td> |
| 57 | +<td>9</td> |
| 58 | +<td>[4, 5]</td> |
| 59 | +</tr> |
| 60 | +<tr> |
| 61 | +<td>2</td> |
| 62 | +<td>1</td> |
| 63 | +<td>[-1]</td> |
| 64 | +</tr> |
| 65 | +<tr> |
| 66 | +<td>2</td> |
| 67 | +<td>8</td> |
| 68 | +<td>[4, 4]</td> |
| 69 | +</tr> |
| 70 | +</tbody> |
| 71 | + </table> |
| 72 | +<h5>입출력 예 설명</h5> |
| 73 | + |
| 74 | +<p>입출력 예#1<br> |
| 75 | +문제의 예시와 같습니다.</p> |
| 76 | + |
| 77 | +<p>입출력 예#2<br> |
| 78 | +자연수 2개를 가지고는 합이 1인 집합을 만들 수 없습니다. 따라서 -1이 들어있는 배열을 반환합니다.</p> |
| 79 | + |
| 80 | +<p>입출력 예#3<br> |
| 81 | +자연수 2개로 이루어진 집합 중 원소의 합이 8인 집합은 다음과 같습니다.</p> |
| 82 | + |
| 83 | +<p>{ 1, 7 }, { 2, 6 }, { 3, 5 }, { 4, 4 }</p> |
| 84 | + |
| 85 | +<p>그중 각 원소의 곱이 최대인 { 4, 4 }가 최고의 집합입니다.</p> |
| 86 | + |
| 87 | + |
| 88 | +> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges |
0 commit comments