# 저울
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 출력
'Algorithm > BOJ' 카테고리의 다른 글
[백준] 5427번 - 불 (파이썬) (0) | 2022.02.02 |
---|---|
[백준] 11657번 - 타임머신 (파이썬) (0) | 2022.02.01 |
[백준] 1300번 - K번째 수 (파이썬) (0) | 2022.01.31 |
[백준] 9466번 - 텀 프로젝트 (파이썬) (0) | 2022.01.31 |
[백준] 1202번 - 보석 도둑 (파이썬) (0) | 2022.01.30 |