알고리즘(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로 출력하기 위해서이다.
화이팅 💪