-
[백준] 15664번 문제 (N과 M (10)) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 8. 25. 13:43
https://www.acmicpc.net/problem/15664
n, m = map(int, input().split()) nums = sorted(list(map(int, input().split()))) visited = [False] * n temp = [] def dfs(start): if len(temp) == m: print(*temp) return remember_me = 0 for i in range(start, n): if not visited[i] and remember_me != nums[i]: visited[i] = True temp.append(nums[i]) remember_me = nums[i] dfs(i + 1) visited[i] = False temp.pop() dfs(0)
https://honggom.tistory.com/111
위 문제 풀이와 매우 비슷하지만 오름차순으로 수열을 방문해서 출력하기 위해 dfs에 파라미터로 start를 추가해줬다.
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 15666번 문제 (N과 M (12)) 파이썬(Python) 및 자바(Java) 풀이 (0) 2021.08.25 [백준] 15665번 문제 (N과 M (11)) 파이썬(Python) 풀이 (0) 2021.08.25 [백준] 15663번 문제 (N과 M (9)) 파이썬(Python) 풀이 (0) 2021.08.25 [백준] 15657번 문제 (N과 M (8)) 파이썬(Python) 풀이 (0) 2021.08.25 [백준] 15656번 문제 (N과 M (7)) 파이썬(Python) 풀이 (0) 2021.08.25