728x90
[파이썬] 백준 15652 : N과 M(4)
https://www.acmicpc.net/problem/15652
실버 3
백트래킹
접근
중복된 순열을 구하는 간단한 문제.
파이썬은 itertools 라이브러리의 combinations_with_replacement 를 이용하면 쉽게 중복 순열을 구할 수 있다.
코드
from itertools import combinations_with_replacement
import sys
N, M = map(int, sys.stdin.readline().split())
lst = [i for i in range(1, N+1)]
for i in list(combinations_with_replacement(lst, M)):
for j in i:
print(j, end=' ')
print()
3 3을 입력했다면
1 1 1
1 1 2
1 1 3
과 같은 형태로 출력된다.
combinations_with_replacement는 튜플 형태로 중복 순열을 반환해주므로 리스트 형태로 그대로 뽑으면 (1, 1, 1)의 형태로 반환된다.
이중 반복문으로 안의 값만 추출하면 답안과 같은 형식을 얻을 수 있다.
728x90
'알고리즘 문제 풀이' 카테고리의 다른 글
[파이썬] 백준 1764 : 듣보잡 (0) | 2022.03.09 |
---|---|
[파이썬] 백준 15652 : 나는야 포켓몬 마스터 (0) | 2022.03.09 |
[파이썬] 백준 1789 : 수들의 합 (0) | 2022.03.08 |
[파이썬] 백준 1931 : 회의실 배정 (0) | 2022.03.08 |
[파이썬] 백준 1541 : 잃어버린 괄호 (0) | 2022.03.06 |