https://www.acmicpc.net/problem/15649
15649번: N과 M (1)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
1. 내가 작성한 코드
from itertools import permutations
n, m = map(int, input().split())
arr = []
for i in range(1,n+1):
arr.append(i)
for j in permutations(arr, m):
for i in j:
print(i, end=' ')
print()
1. 1부터 M까지의 수를 list에 삽입한다
2. 순열을 이용해서 모든 경우의 수를 뽑아낸 후 출력
하는 방법으로 본 문제를 풀었는데, 백트래킹을 이용해서 푸는 문제라고 한다.
백트래킹 알고리즘 공부해보고 다시 풀어봐야겠다.
'🔅코딩테스트 공부🔅 > ❗백준' 카테고리의 다른 글
[백준] 24479번 깊이 우선 탐색1 (with python) (0) | 2023.02.07 |
---|---|
[백준] 1260번 DFS와 BFS (with python) (0) | 2023.02.07 |
[백준] 2108번 통계학(with python) (0) | 2023.02.02 |
[백준] 11651번 좌표 정렬하기 2(with python) (0) | 2023.02.02 |
[백준] 10815번 숫자 카드(with python) (0) | 2023.02.01 |
댓글