Algorithm/구현
[프로그래머스 lv 1] 예산
HANNI하니
2023. 5. 30. 16:47
사용 언어 - Python3
문제 - 예산
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
정답
런타임 에러 없이 구현 (정답 맞춘 여부 O)
# 런타임 에러
def solution(d, budget):
# 주어진 예산으로 최대한 많은 부서의 물품 구매
d.sort() # 주어진 예산
sum_b = 0 # 예산 합
for i in range(len(d)):
sum_b += d[i]
if sum_b <= budget:
answer = i+1
return answer
# 정답1
def solution(d, budget):
answer = 0
d.sort()
for i in range(len(d)):
if d[i] <= budget:
answer += 1
budget -= d[i] # 변수 만들지 말고, budget에서 빼주기
else:
break
return answer
# 정답2
def solution(d, budget):
d.sort()
while budget < sum(d): # sum(d)보다 작을때까지 d의 가장 큰 원소 삭제
d.pop()
return len(d) # d의 길이 = budget 안에서 가능한 부서 수
레퍼런스
- 정답 깃허브
GitHub - yyeongeun/codingtest: 코딩테스트 공부
코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.
github.com