S E P H ' S

[Python] 예산 본문

Algorithm/Programmers

[Python] 예산

yoseph0310 2021. 7. 6. 17:15

 

 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

처음 생각한 아이디어는 d에서 몇가지를 뽑아서 budget을 넘지 않으면서 가장 큰 값을 찾는 것을 생각했다.

하지만 그렇게 된다면 모든 경우의 수를 생각해야하고 로직이 복잡해질 것 같다는 생각을 했다.

그래서 생각한 아이디어는 다음과 같다.

 

1. d를 오름차순으로 정렬하여 작은 값부터 budget에서 빼나가면서 정답을 체크한다.

2. 정렬한 d의 첫 값이 budget보다 크면 지원할 부서는 없다.

 

def solution(d, budget):
	answer = 0
    d.sort()
    for i in range(len(d)):
    	if d[i] <= budget:
        	answer += 1
            budget -= d[i]
        else:
        	break
   	
    return answer

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 약수의 개수와 덧셈  (0) 2021.07.06
[Python] 음양 더하기  (0) 2021.07.06
[Python] 신규 아이디 추천  (0) 2021.07.06
[Python] 체육복  (0) 2021.07.06
[Python] 소수찾기  (0) 2021.07.06