자르비 왕국
[백준] 15650 N과 M(2) - Python 본문
https://www.acmicpc.net/problem/15650
15650번: N과 M (2)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
해당 문제는 조합 문제로 그냥 구현할 수 있겠지만, itertools의 combinations 라이브러리를 사용하여 쉽게 해결할 수 있다.
풀이
from itertools import combinations
N, M = map(int, input().split())
arr = [i+1 for i in range(N)]
comb = list(combinations(arr, M))
for ret in comb :
print(*ret)
마지막 줄에 print를 할 경우, *ret을 한 이유는 튜플에 저장된 모든 원소를 한번에 출력하기 위함이다.
'문제풀이' 카테고리의 다른 글
[백준] 1157 단어 공부 - Python (0) | 2022.01.16 |
---|---|
[백준] 2592 대표값 - Python (0) | 2022.01.16 |
[백준] 10825 국영수 - Python (0) | 2022.01.13 |
[백준] 11005 진법 변환 2 - Python (0) | 2022.01.13 |
[백준] 9613 GCD 합 - Python (0) | 2022.01.13 |