시간 어떻게 시간을 줄여야하는지 생각이 안나 검색해서 방법을 찾음
변수 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
'알고리즘 문제' 카테고리의 다른 글
프로그래머스 k번째 수 (0) | 2018.10.29 |
---|---|
★ 프로그래머스 섬 연결하기 크루스칼 알고리즘 (0) | 2018.10.28 |
프로그래머스 저울 [시간초과..] (0) | 2018.10.27 |
프로그래머스 단속카메라 (0) | 2018.10.27 |
프로그래머스 구명보트 (0) | 2018.10.26 |