🧑💻 백준 2437 저울
Gold 2
주어진 저울 추의 무게들을 오름차순으로 정렬을 한다
그 저울 추들을 가지고 1부터 몇 번까지 무게를 측정할 수 있는지 구하는 것이다
- 예를 들어 주어진 저울 추들로 1부터 20까지 무게를 측정할 수 있다. 그러면 답은 21이다. (21부터는 무게를 측정하기 어려우니깐)
문제 풀이
- 먼저 주어진 리스트를 오름차순으로 정렬을 한다
target
을 주어야 하는데,target
은 1부터 시작한다.- 위에 예시처럼 1부터 20까지 무게를 측정할 수 있지만, 21부터는 측정하기 어려우니 20 + 1을 해야 해서
target
을 1로 저장을 한다
- 위에 예시처럼 1부터 20까지 무게를 측정할 수 있지만, 21부터는 측정하기 어려우니 20 + 1을 해야 해서
- 그리고
weight
리스트를 순회를 한다- 여기서
target
보다 순회하는 저울추가 더 크면 for문을 끝낸다target
보다 순회하는 저울추가 더 크면, 그target
의 값은 리스트 안에 사용하는 저울추들을 이용해 무게를 잴 수 없게 된다- 예)
[2, 3, 4, 5]
가 있다 (target = 1
)- 2는 target = 1보다 크다, 주어진 리스트에 있는 저울추들을 아무리 사용해도 1이라는 무게를 잴 수 없다
- 저울추가
target
과 크거나 같으면target
에 저울추의 무게를 더한다
- 여기서
코드
N = int(input())
weight = list(map(int, input().split()))
weight.sort()
target = 1
for w in weight:
if target < w:
break
target += w
print(target)
'알고리즘 > 정렬' 카테고리의 다른 글
[Python] 백준 1374 - 강의실 (0) | 2023.01.14 |
---|---|
[Python] 백준 1931 - 회의실 배정 (0) | 2023.01.13 |
[Python] 백준 6068 시간 관리하기 (0) | 2023.01.09 |
[Python] 백준 1946 신입 사원 (0) | 2023.01.09 |
[Python] 백준 1202 보석 도둑 (0) | 2023.01.06 |