코딩/공부

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

취미니스트 2024. 2. 7. 17:43
728x90
반응형

문제

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


9개의 정수를 입력받아 리스트에 저장하고 이를 오름차순 정렬함.

합을 계산.

heights = sorted([int(input()) for _ in range(9)])
add = sum(heights)

 

서로 다른 두 요소를 짝을 지을 수 있도록 중첩 반복문을 구성.

- 합에서 두 요소를 뺐을 때 100이 나오는 경우 해당 위치의 요소를 0으로 변환.

- 반복문을 이용하여 리스트의 요소 중 0이 아닌 요소만을 순차적으로 출력.

- 프로그램 종료.

for i in range(len(heights)-1):
    for j in range(i+1, len(heights)):
        if add - heights[i] - heights[j] == 100:
            heights[i] = heights[j] = 0
            for h in heights:
                if h == 0:
                    continue
                print(h)
            exit(0)

 

전체 코드

heights = sorted([int(input()) for _ in range(9)])
add = sum(heights)
for i in range(len(heights)-1):
    for j in range(i+1, len(heights)):
        if add - heights[i] - heights[j] == 100:
            heights[i] = heights[j] = 0
            for h in heights:
                if h == 0:
                    continue
                print(h)
            exit(0)
728x90
반응형