미소를뿌리는감자의 코딩

[백준 2024/09/09] 일곱 난쟁이 본문

코딩 테스트/백준

[백준 2024/09/09] 일곱 난쟁이

미뿌감 2024. 9. 9. 12:56
728x90

1. 문제

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

2. 접근 방법

일단 주어진 height를 다 더한 후 100을 빼 주어, 초과되는 height를 구하였다.

'초과 된 height = 백설 공주와 일곱 난쟁이가 아닌 두 난쟁이'

를 의미하게 될 것이다.

 

따라서, 주어진 height 중 2개의 height의 합이 초과 된 height를 나타내는 수들을 찾기 시작할 것이다.

 

만약, 해당 조건을 만족시키는 두 수를 찾게 되면 해당 두 수를 제외한 나머지를 list 로 저장을 하게 되고, sort() 후 출력하면 된다.

 

3. 코드

def find_stranger():
    height = []
    for i in range(9):
        height.append(int(input()))

    min_height = min(height)
    sum_height = sum(height)

    over_height = sum_height - 100

    for h in range(min_height, over_height, 1):
        if h in height and over_height - h in height:
            height.remove(h)
            height.remove(over_height - h)
            break

    height.sort()

    for h in height:
        print(h)


if __name__ == "__main__":
    find_stranger()

 

 

728x90