
def solution(d, budget):
answer = 0
d.sort()
cnt = 1
now = d[0]
for i in d[1:] :
if now + i > budget :
break
else :
cnt += 1
now += i
return cnt
실행했더니 테스트 케이스 하나가 실패라고 떴다 ,,
임의로 테케 몇 개 집어넣어서 돌려보다가 드디어 발견함
생각해보니까 초기값을 1로 주면 안 됐음 ㅎㅎ
budget 이 제일 작은 금액보다 더 작을 수도 있기 때문에 ,,
def solution(d, budget):
answer = 0
d.sort()
cnt = 0
now = 0
for i in d :
if now + i > budget :
break
else :
cnt += 1
now += i
return cnt
당연히 제일 작은 금액보다는 budget 이 크겠지 생각한 내가 바보였음
예를 들어서 d = [3, 4, 5], budget = 1 이면 결국 0 개가 나와야 하는데
처음에 짰던 코드는 무조건 1 이상이 나오게 됨 ,, 암튼 해결 !!
'알고리즘' 카테고리의 다른 글
[프로그래머스 Lv2] 예상 대진표 (Python) (0) | 2022.07.27 |
---|---|
[프로그래머스 Lv1] 소수 만들기 (Python) (0) | 2022.07.06 |
[프로그래머스 Lv2] 기능개발 (Python) (0) | 2022.07.02 |
[프로그래머스 Lv2] 카펫 (Python) (0) | 2022.07.02 |
[프로그래머스 Lv2 - 2019 KAKAO BLIND RECRUITMENT] 오픈채팅방 (Python) (0) | 2022.07.02 |