Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

DANIELOGIC

[Python] 백준 2309번 일곱 난쟁이 본문

Algorithm/백준

[Python] 백준 2309번 일곱 난쟁이

daniel; 2024. 6. 25. 01:24

[Python] 백준 2309번 일곱 난쟁이

https://www.acmicpc.net/problem/2309

문제

코드

l = []
for i in range(9):
    l.append(int(input()))
l.sort()
k = sum(l)-100
for i in range(9):
    if sum(l) == 100:
        break
    for x in range(i+1,9):
        if l[i] + l[x] == k:
            l[i] = l[x] = 0
            break
for _ in l:
    if _ != 0:
        print(_)

리뷰

일곱 난쟁이의 키를 전부 더하면 100이 되므로

아홉 난쟁이의 키를 더한 뒤 100을 빼면 일곱 난쟁이가 아닌 두 난쟁이들의 키 합이 나온다.

따라서 중첩 반복문을 사용해서 더했을 때 두 난쟁이의 키 합에 해당한다면 그 부분을 0으로 만들고

출력할 때 0만 제외하고 출력하면 된다.