문제 출처 : www.acmicpc.net/problem/15657
문제 해석 : N개의 수 중에서 M개의 수를 고른다. 이때 자기 자신도 고를 수 있지만 중복은 없다. 또한 비내림차순이다.
문제 풀이 : 재귀적으로 풀어가면서 시작 index를 주면 된다.
풀이 코드
def make_answer(start, count, arr2):
if count >= M:
for element in arr2:
print(element, end = " ")
print()
return
for i in range(start, N):
arr2.append(arr[i])
make_answer(i, count+1, arr2)
arr2.remove(arr[i])
N, M = map(int, input().split())
arr = list(map(int, input().split()))
arr.sort()
make_answer(0, 0, [])
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 15666 N과 M (12) 문제 풀이 (0) | 2021.01.31 |
---|---|
[알고리즘][Python] 백준 15663 N과 M (9) 문제 풀이 (0) | 2021.01.30 |
[알고리즘][Python] 백준 14938 서강그라운드 문제 풀이 (0) | 2021.01.30 |
[알고리즘][Python] 백준 13549 숨바꼭질 3 문제 풀이 (0) | 2021.01.29 |
[알고리즘][Python] 백준 12865 평범한 배낭 문제 풀이 (0) | 2021.01.29 |