## 문제
9명의 키가 주어질때 7명으로 키의 합이 100이 되도록 만들어서 출력
정답에 여러가지 경우가 있을수 있다.
## code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
input = sys.stdin.readlines() | |
l = list(map(lambda x: x.rstrip().replace('\x1a',''),input)) | |
l2 = list(map(int,l)) | |
l2.sort(reverse=True) | |
## 전체중 아닌거 2개를 찾기 | |
for idx1 in range(9): | |
for idx2 in range(9): | |
if idx1 == idx2: | |
continue | |
ans_idx = [] | |
for i in range(9): | |
if i == idx1 or i == idx2: continue | |
ans_idx += [i] | |
ans = [int(l[i]) for i in ans_idx] | |
if sum(ans) == 100: break | |
if sum(ans) == 100: break | |
ans.sort() | |
for i in ans: | |
print(i) |
9명중 7명을 선택하는 과정에서
2명을 선택하고 나머지를 제외하도록 했다
from itertools import combinations as cb
dwarfs = [*map(int, open(0))]
for c in cb(dwarfs, 7):
if sum(c) == 100:
print(*sorted(c))
break
combinations를 사용하자 (9명중 7명 선택)
0 댓글