본문 바로가기
Algorithm/Baekjoon

2437. 저울 (Python)

by 원만사 2022. 3. 6.
반응형
 

2437번: 저울

하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓

www.acmicpc.net

 

풀이

 입력받은 추의 무게들을 오름차순으로 정렬한 후 차례대로 더해가면서 현재까지 추의 무게들의 합과 다음 추의 무게를 비교하면 된다. 만약 다음 추의 무게가 현재까지 추의 무게들의 합보다 더 크다면 현재까지 추의 무게들의 합 + 1이 답이 된다.

 

 문제를 풀 수 있는 방법을 찾지 못해 풀이를 보고 해결했는데 말로 하는 설명만 봤을 때는 이해가 안갔는데 수직선을 그려서 설명해 주신 분의 풀이를 보고 이해할 수 있었다. 아래 링크를 참고해보자~

https://aerocode.net/392

 

 

 

코드

if __name__ == '__main__':
    N = int(input()) # 저울추의 개수 
    numbers = list(map(int, input().split())) # 추들의 무게
    numbers.sort()

    weights = 1 # 추의 무게들의 합. 1로 시작

    for i in range(N):
    	# 다음 추가 현재까지 추들의 무게의 합보다 크다면 weights가 주어진 추들로 측정할 수 없는 최소 무게가 된다.
        if weights < numbers[i]: 
            break
        weights += numbers[i] 

    print(weights)

 

반응형

'Algorithm > Baekjoon' 카테고리의 다른 글

1700. 멀티탭 스케줄링 (Python)  (0) 2022.03.07
11000. 강의실 배정 (Python)  (0) 2022.03.07
1339. 단어 수학 (Python)  (0) 2022.03.04
1022. 소용돌이 예쁘게 출력하기 (Python)  (0) 2022.03.01
1202. 보석 도둑 (Python)  (0) 2022.02.28

댓글