15652번: N과 M (4)
한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해
www.acmicpc.net
[정답]
1. 두 수를 입력받아 N,M을 정의한다.
2. 1부터 N까지의 자연수 중에서 고르는 문제니까 수 1~N을 list에 넣는다.
3. itertools 모듈의 combinations_with_replacement() 함수를 사용하여 중복 조합을 구한다.
4. for문을 돌면서 중복 조합을 차례대로 출력한다.
이 문제는 #15649:N과 M(1) & #15650:N과 M(2) & #15651:N과 M(3) 의 연장선 문제이다.
#15649:N과 M(1) → 중복을 제외한 순열 구하는 문제 → permutations() 함수 사용
#15650:N과 M(2) → 중복을 제외한 순서 상관없는 조합 구하는 문제 → combinations() 함수 사용
#15651:N과 M(3) → 중복 순열 구하는 문제 → product() 함수 사용
#15652:N과 M(4) → 중복 조합 구하는 문제 → combinations_with_replacement() 함수 사용
[itertools 모듈 자세한 설명]
https://heewon9809.tistory.com/193
백준 #15649
www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열
heewon9809.tistory.com
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #1225: 이상한 곱셈 (0) | 2021.01.05 |
---|---|
[백준 파이썬] #15654: N과 M(5) (0) | 2021.01.04 |
[백준 파이썬] #15651: N과 M(3) (0) | 2021.01.03 |
[백준 파이썬] #15650: N과 M(2) (0) | 2021.01.03 |
[백준 파이썬] #15649: N과 M(1) (0) | 2021.01.02 |