https://www.acmicpc.net/problem/15652
중복조합을 사용하는 문제입니다.
우선 문제부터 간단하게 요약하면, N과 M을 입력받아서, 1~N까지의 숫자중 중복을 허용해서 M개를 뽑는 경우들을 print 하는 것이 문제입니다.
<Solution>
파이썬의 기본 itertools 라이브러리안의 combinations_with_replacement를 사용하여 문제를 해결하였습니다.
실제 구현은 아래와 같습니다.
import sys
import itertools
N, M = list(map(int, sys.stdin.readline().rstrip().split()))
nCr = itertools.combinations_with_replacement(list(range(1,N+1)), M)
for e in nCr:
print(' '.join(list(map(str, e))))
반응형
'코딩테스트 > Python 문제풀이' 카테고리의 다른 글
[백준] 조합 (0) | 2022.06.29 |
---|---|
[백준] 트리의 순회 (0) | 2022.06.29 |
[백준] A → B (0) | 2022.06.29 |
[백준] 벽 부수고 이동하기 (0) | 2022.06.29 |
[백준] 내려가기 (0) | 2022.06.29 |