답을 맞추지만 시간 초과..
-> 해결 http://oneshottenkill.tistory.com/377
def solution(weight):
weight.sort()
length=len(weight)
weight.reverse()
#print(weight)
w=1
while True:
s=w
#print('시도 무게:',s)
for i in range(length):
#print('뺴기 전:',s)
s-=weight[i]
#print('뺀 후:',s)
if s<0:#무게를 너무 많이 빼서 0보다 작을 경우
s+=weight[i] #뺀 무게를 다시 더해주고
i+=1 #더 가벼운 무게로 시도
elif s==0: #0이면 무게 딱 맞춤
break
elif i==length-1 and s>=1: #끝까지 시도했음에도 무게가 남아있다면 측정 불가
return w
w+=1
print(solution([3, 1, 6, 2, 7, 30, 1]))
출처 https://programmers.co.kr/learn/courses/30/lessons/42886?language=python3
'알고리즘 문제' 카테고리의 다른 글
★ 프로그래머스 섬 연결하기 크루스칼 알고리즘 (0) | 2018.10.28 |
---|---|
프로그래머스 저울 (0) | 2018.10.27 |
프로그래머스 단속카메라 (0) | 2018.10.27 |
프로그래머스 구명보트 (0) | 2018.10.26 |
프로그래머스 조이스틱 (0) | 2018.10.11 |