반응형
풀이
def solution(d, budget):
answer = 0
d.sort()
for dVal in d:
budget = budget - dVal
answer += 1
if budget < 0:
break
if budget >= 0:
return answer
else:
return answer -1
실행 결과
정확성 테스트
테스트 1 〉 | 통과 (0.04ms, 10.6MB) |
테스트 2 〉 | 통과 (0.04ms, 10.6MB) |
테스트 3 〉 | 통과 (0.03ms, 10.7MB) |
테스트 4 〉 | 통과 (0.04ms, 10.7MB) |
테스트 5 〉 | 통과 (0.03ms, 10.7MB) |
테스트 6 〉 | 통과 (0.04ms, 10.7MB) |
테스트 7 〉 | 통과 (0.04ms, 10.6MB) |
테스트 8 〉 | 통과 (0.05ms, 10.8MB) |
테스트 9 〉 | 통과 (0.06ms, 10.7MB) |
테스트 10 〉 | 통과 (0.04ms, 10.8MB) |
테스트 11 〉 | 통과 (0.05ms, 10.7MB) |
테스트 12 〉 | 통과 (0.05ms, 10.7MB) |
테스트 13 〉 | 통과 (0.04ms, 10.8MB) |
테스트 14 〉 | 통과 (0.05ms, 10.9MB) |
테스트 15 〉 | 통과 (0.05ms, 10.7MB) |
테스트 16 〉 | 통과 (0.05ms, 10.7MB) |
테스트 17 〉 | 통과 (0.05ms, 10.7MB) |
테스트 18 〉 | 통과 (0.05ms, 10.7MB) |
테스트 19 〉 | 통과 (0.05ms, 10.6MB) |
테스트 20 〉 | 통과 (0.04ms, 10.6MB) |
테스트 21 〉 | 통과 (0.06ms, 10.8MB) |
테스트 22 〉 | 통과 (0.04ms, 10.7MB) |
테스트 23 〉 | 통과 (0.04ms, 10.6MB) |
총평
우선 부서 별로 신청한 금액을 적은 순으로 나열합니다. 그 이유는 최대한 많은 부서에 지원하기 위해서 입니다. 그렇다면 적은 순으로 나열해서 최종 예산에서 뺴나가면 최대 부서 지원 수를 구할 수 있습니다. 다만 주의할 점을 예산이 남은 경우, 딱 맞아 떨어지는 경우, 부족한 경우를 생각해야 한다는 것입니다. 따라서 남은 예산이 남거나 딱 나누어 떨어지는 경우네는 바로 카운트한 answer를 바로 리턴합니다. 만약 예산이 부족한 경우에는 answer에서 1을 빼주어 리턴해서 모든 경우의 수를 만족하였습니다.
반응형
'SW > 알고리즘' 카테고리의 다른 글
파이썬 : 프로그래머스 : 체육복 : 풀이 (0) | 2019.08.29 |
---|---|
파이썬 : 프로그래머스 : 완주하지 못한 선수 : 풀이 (0) | 2019.08.25 |
파이썬 : 프로그래머스 : 기능개발 : 풀이 (0) | 2019.08.22 |
파이썬 : 프로그래머스 : 전화번호목록 : 풀이 (1) | 2019.08.21 |
C++ : 프로그래머스 : 짝수와 홀수 : 풀이 (0) | 2019.06.22 |