Algorithm/BOJ
[백준] 2437번 - 저울 (파이썬)
_temp
2022. 1. 31. 18:07

# 저울
import sys
input = sys.stdin.readline
N = int(input())
arr = list(map(int, input().split()))
arr.sort()
result = 0
sum = 0
for i in range(N):
if sum+1 >= arr[i]:
sum += arr[i]
else:
result = sum+1
break
if result == 0:
result = sum+1
print(result)
그리디
1. 저울의 무게를 담은 리스트를 정렬해준다
2. 현재까지의 무게의 합 + 1보다 다음에 리스트에 넣어줄 값이 더 크면 중간에 공백이 나오는 것을 이용
- (sum+1) >= (다음무게) 이면, (현재까지의 무게의합) += (다음무게)
- 더 크면 공백이 발생, result = (현재까지의 무게의합 +1)
3. 만약 result가 그대로 0이면, 중간에 공백이 없다는 뜻, result = sum + 1
4. result 출력