728x90
문제
link: https://www.acmicpc.net/problem/15654
N개 자연수 중 M개를 골라 나열하는 법을 모두 출력하는 문제이다.
접근
백트래킹을 활용했다.
수열을 구성하는 숫자가 같아도 순서가 다르면 다른 것으로 보기 때문에, 같은 숫자가 들어가지 않도록 유의해야 한다.
코드
def bt():
if len(tmp) == m:
print(' '.join(map(str, tmp)))
return
for i in nums:
if i in tmp:
continue
tmp.append(i)
bt()
tmp.pop()
tmp = []
n, m = map(int, input().split())
nums = sorted(list(map(int, input().split())))
bt()
728x90
'코딩테스트' 카테고리의 다른 글
[백준] 11724 | 연결 요소의 개수 [파이썬/python] (0) | 2025.04.16 |
---|---|
[백준] 2805 | 나무 자르기 [파이썬/python] (0) | 2025.04.15 |
[백준] 1541 | 잃어버린 괄호 [파이썬/python] (0) | 2025.04.10 |
[백준] 1260 | DFS와 BFS [파이썬/python] (0) | 2025.04.10 |
[백준] 1012 | 유기농 배추 [파이썬/python] (1) | 2025.04.10 |