https://www.acmicpc.net/problem/15654
# 2022.12.30
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
number = list(map(int, input().split()))
number = sorted(number)
answer = []
def backtracking():
if len(answer)==m:
print(' '.join(map(str, answer)))
return
for i in number:
if i not in answer:
answer.append(i)
backtracking()
answer.pop()
backtracking()
1. n, m 입력받음
2. number라는 리스트를 입력받음
3. 미리 number 리스트를 sort해줌 -> 수열은 사전 순으로 증가하는 순서로 출력해야 한다.
4. answer이라는 리스트에 수열 append와 pop
5. len(answer)이 원하는 값인 m이라면 print해줌 & return
6. 정렬된 number 리스트를 순차적으로 append와 pop
'Problem Solving > BOJ' 카테고리의 다른 글
[Backtracking] 15663 N과 M(9) (0) | 2022.12.30 |
---|---|
[Backtracking] 15657 N과 M(8) (0) | 2022.12.30 |
[Backtracking] 15652 N과 M(4) (0) | 2022.12.30 |
[Backtracking] 15649 N과 M(1) (1) | 2022.12.30 |
[Backtracking] BOJ 15650 N과 M(2) (1) | 2022.12.30 |