본문 바로가기
Algorithm

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

by jangThang 2022. 3. 31.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    15650번: N과 M (2)

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     길이 N의 수열에서 M개를 뽑아 만들 수 있는 조합을 출력하는 문제입니다.

     

    2022.01.16 - [Algorithm] - [Algorithm] 브루트 포스(Brute Force)는 노가다 기법?

     

    [Algorithm] 브루트 포스(Brute Force)는 노가다 기법?

    [ Contents ] 1. 브루트 포스란?  Brute(짐승 같은, 난폭한) + Force(힘, 폭력)의 합성어입니다. 무식하게 푸는 기법으로, '노가다'에 가까운 접근법입니다. 모든 경우의 수를 시험해보며 문제를 해결합니

    star7sss.tistory.com

     백트래킹을 쓰지 않아도, 브루트 포스방식으로 조합을 찾아서 해결할 수 있습니다.

     

     

     

    3. 코드

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

     1부터 N까지의 수열 중에 M개를 뽑을 조합을 구합니다.

     이후 공백 간격으로 출력합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글