알고리즘(algo)/백준

[백준] 15649번 - N과 M (1)

dDong2 2023. 2. 8. 10:21
참고: https://www.acmicpc.net/problem/15649

 

✔️ 문제

 

 

문제는 다음과 같다.

 

 

✔️ 풀이

 

 

다음과 같이 중복되지 않는 수열을 M개 만큼 계속해서

출력하는 문제이다. 이 문제는 itertools의 permutations 함수를

사용하여 간단하게 풀 수 있다.

 

from itertools import permutations

n,m=map(int, input().split())
data = list(permutations([i for i in range(1, n+1)], m))

for i in range(len(data)): print(*data[i])

 

permutations는 중복되지 않은 순열 N개에서 M을 뽑아주는데,

1부터 n+1까지의 범위로 할당된 N개에서 M을 뽑아준 것을

list 형태로 반환하고 해당 list를 언패킹한 각각의 인덱스를 출력하면 된다.

인덱스를 붙혀주는 이유는 튜플로 반환되기 때문에 (1, 2)처럼 출력되는 것을

1 2로 출력하기 위해서이다.

 

화이팅 💪