본문 바로가기
Algorithm

[Brute Force] 백준 15652 N과 M (4) - 파이썬(Python)

by jangThang 2022. 4. 1.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

    https://www.acmicpc.net/problem/15652

     

    15652번: N과 M (4)

    한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

    www.acmicpc.net

     

     

    2. 문제 풀이

     길이가 N인 수열에서 중복을 허용해서 M개 뽑는 조합을 구하는 문제입니다.

     

    2022.03.31 - [Algorithm] - [Brute Force] 백준 15650 N과 M (2) - 파이썬(Python)

     이전 N과 M(2) 문제와 달리, '중복을 '허용'해서 조합을 구해야 합니다.

     

     

     

    3. 코드

    from itertools import combinations_with_replacement
    
    N, M = map(int, input().split())
    case = combinations_with_replacement(range(1, N+1), M)
    
    for i in case:
        for j in i:
            print(j, end=" ")
        print()

     파이썬에서는 중복 조합을 구하는 함수를 제공합니다. combinations_with_replacement()을 이용해서 중복조합을 구하고 출력합니다.

     

    combinations_with_replacement(lst, n): lst에서 중복을 허용해서 n개를 뽑는 조합

     

    star가 되고나서 Tistory

    반응형

    댓글