본문 바로가기
Algorithm

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

by jangThang 2022. 4. 8.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    15656번: N과 M (7)

    N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     주어진 수열에서 M개를 뽑는 중복순열을 구하는 문제입니다. 중복순열은 itertools.product() 함수를 이용해서 쉽게 구할 수 있습니다.

     

     itertools.product(lst, repeat=n): lst에서 n개를 중복 허용해서 뽑는 순열

     

     

     

    3. 코드

    from itertools import product
    
    N, M = map(int, input().split())
    numlist = list(map(int, input().split()))
    case = product(sorted(numlist), repeat=M)
    
    for i in case:
        for j in i:
            print(j, end=" ")
        print()

     사전순으로 출력해야 하므로, 입력받은 수열을 오름차순으로 정렬해서 인수에 대입합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글