티스토리 뷰

반응형

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

 

2437번: 저울

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

www.acmicpc.net

 


⊙ 문제

⊙ 입력

⊙ 출력

⊙ 예제 입출력

⊙ 알고리즘 분류

  • 그리디 알고리즘
  • 정렬

 


 

⊙ 문제 접근 과정

 

작은 값부터 더해나가 다음 list의 값보다 작으면 그 위치에서 break후, 현재까지 더해나간 값을 출력해주면 된다.

 

예를 들어

① target (=1) >= x (=1)

target = 1 + 1 = 2

 

② target (=2) >= x (=1)

target = 2 + 1 = 3

 

③ target (=3) >= x (=2)

target = 3 + 2 = 5

 

④ target (=5) >= x (=3)

target = 5 + 3 = 8

 

⑤ target (=8) >= x (=6)

target = 8 + 6 = 14

 

⑥ target (=14) >= x (=7)

target = 14 + 7 = 21

 

⑦ target (=21) < x (=30)

break

 

target = 21 출력

 


 

⊙ 문제 풀이

 

N = int(input())

l = list(map(int, input().split()))

l.sort()

target = 1

for x in l:
    if target < x:
        break
    target +=x

print(target)

 


⊙ 결과

 


⊙ 마무리

 

 

NONE

 

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함