본문 바로가기
Algorithm

[브루트포스] 백준 3040 백설 공주와 일곱 난쟁이 - 파이썬(Python)

by jangThang 2022. 5. 19.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    3040번: 백설 공주와 일곱 난쟁이

    매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     9개의 수 중, 합이 100이 되는 7개의 수를 고르는 문제입니다.

     

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

     

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

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

    star7sss.tistory.com

    9개 중 7개를 뽑는 조합을 구하고, 100이 되는지 확인하는 문제입니다.

     

     

     

    3. 코드

    from itertools import combinations
    import sys
    input = sys.stdin.readline
    
    # 입력
    numlist = [ int(input()) for _ in range(9)]
    
    # 9개 중 7개를 뽑을 조합
    case = list(combinations(numlist, 7))
    
    # 합이 100이 되면
    for i in case:
        if sum(i) == 100:
            for j in i:
                print(j)

     itertools의 combinatnions를 이용하면 쉽게 조합을 구할 수 있습니다.

     

    star가 되고나서 Tistory

    반응형

    댓글