알고리즘 문제

프로그래머스 저울

원펀만 2018. 10. 27. 20:19

시간 어떻게 시간을 줄여야하는지 생각이 안나 검색해서 방법을 찾음


변수 s의 초기값을 1이라고 하고 현재 무게가 s보다 크면 종료한다.

가벼운 무게부터 s에 누적한다.


s의 초기값이 1이므로 누적된 값보다 큰 값이 나오면 거기에 도달할 방법이 없다.


for문이 종료되면 weight 배열의 모든 값의 누적보다 1 큰 값이 s에 있다. 그러므로 모든 무게 추를 사용해도 못구하는 최소 값이다. 바로 반환해주면 답이다.

def solution(weight):
weight.sort()
length=len(weight)
s=1
for i in range(length):
if s<weight[i]:
break
s+=weight[i]
return s


http://gall.dcinside.com/mgallery/board/view?id=ps&no=1208

https://programmers.co.kr/learn/courses/30/lessons/42886?language=python3