Computer Knowledge/코테 대비 오답노트
⭐️ [python] 예산 - 1단계지만 어려워
l._.been
2023. 9. 20. 15:08
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12982
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
전략
- 너무 어렵게 생각했던 문제..
- 배열의 맨 뒤 요소부터 삭제할 것인지, 맨 앞 요소부터 삭제할 것인지에 따라 전략을 세우면 된다
해답
1. 맨 뒤에서 접근
def solution(d, budget):
d.sort()
while budget < sum(d):
d.pop()
return len(d)
2. 맨 앞에서 접근
def solution(d, budget):
d.sort()
cnt = 0
for i in d:
budget -= i
if budget < 0:
break
cnt += 1
result = cnt
return result