본문 바로가기

코딩 테스트/백준

[Python] 백준 3040 백설 공주와 일곱 난쟁이

 

문제 분석

  • 100보다 작은 양의 정수
  • 일곱 난쟁이 모자에 쓰여있는 숫자의 합이 100
  • 9개의 숫자가 주어졌을 때 그 중 합이 100이 되는 숫자 7개를 찾아라

 

코드 설계

  • 입력 받는 숫자에 대해 순서 x, 중복 x 즉, 9개 중 7개의 조합을 찾고
  • 해당 조합에서 합이 100인 숫자 출력
  • 조합 → combinations

 

정답 코드

import sys
input = sys.stdin.readline
from itertools import combinations

num = [int(input()) for _ in range(9)]
ans = []

for i in combinations(num, 7) :
    if sum(i) == 100 :
        ans = list(i)
        break
print('\n'.join(map(str, ans)))