반응형

파이썬 / BOJ 백준 알고리즘 / 2309번 일곱 난쟁이 - 브루트 포스

 

문제 풀이

- 이번 문제는 입력된 9개의 정수 중 2개를 뽑고, 나머지 7개의 정수의 합을 구하면됩니다. 

- 가능한 모든 2개의 정수를 뽑는데, 나머지 7개의 정수의 합이 100이 된다면, 7개의 정수를 정렬하여 출력하면 됩니다.

 

전체 코드

- combinations 함수를 이용해 7개 정수를 뽑는 모든 조합의 경우를 계산합니다. 

- 그 모든 조합 가운데, 합이 100이면, 그 7개 정수를 정렬하여 출력하도록 합니다.

from itertools import combinations

num_list = [int(input()) for i in range(9)]
p = list(combinations(num_list,7))

for i in p:
    #print(sorted(i), sep='\n')
    if sum(i) == 100 :
        print(*sorted(i), sep='\n')
        break;

 

 

 

www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

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

www.acmicpc.net

 

반응형

+ Recent posts