제출 했던 정답
input = [int(input()) for _ in range(9)]
result = 0;
for a in input:
result = result + a;
flag = False
for b in range(0,9):
for c in range(0,9):
if c != b:
if result - (input[b] + input[c]) == 100:
a1 = input[b]
a2 = input[c]
input.remove(a1)
input.remove(a2)
flag = True;
break;
if flag == True:
break;
input = sorted(input);
for d in input:
print(d)
개선된 코드
import itertools
input = [int(input()) for _ in range(9)]
for i in itertools.combinations(input,7):
if(sum(i) == 100):
for num in sorted(i):
print(num)
break;
itertools.combinations 는 순열을 구할 수 있음.
순열이란 서로다른 N개에서 r개를 선택할때 순서를 고려하여 중복없이 뽑을 수 있음.
리스트 [1,3,5,6]
[(1,3)(1,5)(1,6),(3,5),(3,6)...]