https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
유사 문제 : https://www.acmicpc.net/problem/3040
3040번: 백설 공주와 일곱 난쟁이
매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.
www.acmicpc.net
https://github.com/stellaluminary/Baekjoon
GitHub - stellaluminary/Baekjoon
Contribute to stellaluminary/Baekjoon development by creating an account on GitHub.
github.com
9명 중 7명의 합이 100이라면 9명 중 2명의 키의 합을 빼면 100이 나오는 list를 찾으면 된다.
d = [int(input()) for _ in range(9)]
for i in range(8):
for j in range(i+1, 9):
if sum(d) - (d[i]+d[j]) == 100:
m = [d[i], d[j]]
break
d.remove(m[0])
d.remove(m[1])
print('\n'.join(map(str,sorted(d))))
9명 중 7명을 뽑아 합이 100이 되는 것을 찾아 출력
from itertools import combinations
d = [int(input()) for _ in range(9)]
for i in combinations(d, 7):
if sum(i) == 100:
n = i
break
print('\n'.join(map(str,sorted(i))))