본문 바로가기
🔅코딩테스트 공부🔅/❗백준

[백준] 15469번 N과 M (1)(with python)

by 윤무무 2023. 2. 4.

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. 순열을 이용해서 모든 경우의 수를 뽑아낸 후 출력

 

하는 방법으로 본 문제를 풀었는데, 백트래킹을 이용해서 푸는 문제라고 한다.

 

백트래킹 알고리즘 공부해보고 다시 풀어봐야겠다.

댓글