티스토리 뷰

반응형

문제

 

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

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

www.acmicpc.net

풀이

일단 9명을 다 더한 후, 100을 빼서 범인 두명의 합을 구한다.

그 후, 조합을 사용해 두명의 합이 일치하는 경우를 찾아서 배열에서 지워주면 된다. 

import sys
from itertools import combinations

arr = []

for _ in range(9):
    arr.append(int(sys.stdin.readline()))

impo = sum(arr) - 100

for com in combinations(arr, 2):
    if sum(com) == impo:
        arr.remove(com[0])
        arr.remove(com[1])

for each in arr:
    print(each)

반응형