백준 알고리즘/Problems

[BOJ/3040] 백설 공주와 일곱 난쟁이

highlaw00 2023. 7. 2. 22:13

목표

과정

아홉 난쟁이의 수 중 합이 100이 되는 일곱 난쟁이를 구하면 되는 문제입니다.반대로, 아홉 난쟁이 중 두 난쟁이를 골라 전체의 합이 100이 되면 되는 문제이기도 합니다.

 

아홉 난쟁이의 수를 리스트에 담은 후, 모든 난쟁이의 수를 더한 뒤 해당 수와 두 난쟁이의 수의 차를 100과 빠지지 않고 비교하면 되는 문제입니다.

 

결과

# 리스트에 난장이들의 숫자를 집어넣음
arr = []
for i in range(9):
    elem = int(input())
    arr.append(elem)

total = sum(arr)

# (0, 1) (0, 2), ... (7, 8) 이런식으로 100에서 해당 인덱스의 수를 빼고 100인지 확인
flag = False
for i in range(0, 8):
    for j in range(i + 1, 9):
        if total - arr[i] - arr[j] == 100:
            del arr[j], arr[i]
            flag = True
            break
    if flag:
        break

for i in range(7):
    print(arr[i])