백준 문제풀이
15666 - N과 M (9) / S(2) / 백트래킹
RonLee
2022. 10. 14. 10:53
"""
15666 - N과 M (9) / S(2) / 백트래킹
"""
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
temp = set(map(int, input().split()))
input_list = sorted(list(temp))
dfs_list = []
def dfs(start):
if len(dfs_list) == M:
for num in dfs_list:
print(num, end=" ")
print()
return
for index in range(start, len(input_list)):
dfs_list.append(input_list[index])
dfs(index)
dfs_list.pop()
dfs(0)
- set 를 이용해서 중복된 숫자 없애고, list로 변경해서 input_list에 넣기
dfs 함수
- 종료조건 코드
- for 반복문 / 비내림차순을 위해서 start 매개변수 받기