참고: https://www.acmicpc.net/problem/15650
✔️ 문제
문제는 다음과 같다.
✔️ 풀이
이전과 동일한 예제로 보이지만,
예제 입력 3을 보았을 때, 1 2 3 4만 출력되는 것을 확인할 수 있다.
즉, 조합하는 경우에 1 2 3 4와 2 4 3 1은 같은 수열이기 때문에
하나만 출력되는 것이고 예제 2에서는 같은 조합이 없기 때문에
6번 모두가 출력되는 것이다.
그렇기에 이전 문제에서 사용한
permutations 함수가 아닌 combinations 함수를 통해
해결 할 수 있으며 N개에서 중복하지 않는 조합을 뽑아낸다.
from itertools import combinations
n,m=map(int, input().split())
data = list(combinations([i for i in range(1, n+1)], m))
for i in range(len(data)): print(*data[i])
이전 게시글을 참고하자.
(https://slumpdev.tistory.com/entry/%EB%B0%B1%EC%A4%80-15649%EB%B2%88-N%EA%B3%BC-M-1)
화이팅 💪
'알고리즘(algo) > 백준' 카테고리의 다른 글
[백준] 15651번 - N과 M (3) (0) | 2023.02.10 |
---|---|
[백준] 4949번 - 균형잡힌 세상 (0) | 2023.02.10 |
[백준] 15649번 - N과 M (1) (0) | 2023.02.08 |
[백준] 1920번 - 수 찾기 (0) | 2023.02.06 |
[백준] 5585번 - 거스름돈 (0) | 2023.02.06 |