문제 분석
- 1~n까지 자연수 중 m개를 고르는 수열
- 같은 수를 여러 번 골라도 됨 (중복 허용)
- 중복 순 (중복을 허용하고 순서 상관o)
코드 설계
- 중복검사하는 부분만 주석처리
정답 코드
import sys
input = sys.stdin.readline
n,m = list(map(int, input().split()))
ans = []
def dfs():
if len(ans) == m :
print(' '.join(map(str, ans)))
return
for i in range(1, n+1):
# if i not in ans:
ans.append(i)
dfs()
ans.pop()
dfs()
itertools
from itertools import product
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
arr = [i for i in range(1, n+1)]
for re in product(arr, repeat = m) :
for r in re :
print(r, end = ' ')
print()
'코딩 테스트 > 백준' 카테고리의 다른 글
[Python] 백준 14888 연산자 끼워넣기 (0) | 2024.09.24 |
---|---|
[Python] 백준 15652 N과 M (4) (0) | 2024.09.24 |
[Python] 백준 15650 N과 M (2) (0) | 2024.09.24 |
[Python] 백준 15649 N과 M (1) (0) | 2024.09.24 |
[Python] 백준 2447 별찍기 - 10 (1) | 2024.09.21 |