알고리즘/브루트포스

파이썬 | 백준 | 2309 | 일곱 난쟁이 | 조합(combinations)

cha-n 2020. 8. 17. 16:23

solution

1. 조합을 이용해 9개 중 7개를 뽑아 합이 100이면 출력한다.

# 2309, 일곱 난쟁이
import sys
from itertools import combinations

dwarf = [int(sys.stdin.readline()) for _ in range(9)]
# 조합을 이용해 9명 중 7명 뽑음
seven = list(combinations(dwarf, 7))

for i in seven:
    if sum(i) == 100:
        ans = list(i)
        break

# 오름차순 출력
ans = sorted(ans)
for ans_ in ans:
    print(ans_)

29380KB

60ms

 

문제 출처 https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net