https://school.programmers.co.kr/learn/courses/30/lessons/12982?language=python3
나는 그냥 sorted해놓고 sum이 budget보다 작거나 같을때 count하는 형식으로 코드를 짰다.
def solution(d, budget):
sum = 0
list = sorted(d)
count = 0
for i in range(len(list)):
sum += list[i]
if sum <= budget:
count+=1
return count
다른사람 코드
sort로 정렬해준다음 sum(d)로 전체합을 구해준다.
그리고 budget보다 클때 pop()을통해 원소 하나씩 제거해준다.
그리고 d의 길이 반환~
효율성에 약간 문제가 있을거라는 댓글들도 있다..
def solution(d, budget):
d.sort()
while budget < sum(d):
d.pop()
return len(d)
[코딩테스트 입문] 3진법 뒤집기(Python3) (0) | 2023.01.12 |
---|---|
[코딩테스트 입문] 이상한 문자 만들기(Python3) (0) | 2023.01.11 |
[코딩테스트 입문] 같은 숫자는 싫어(Python3) (0) | 2023.01.11 |
[코딩테스트 입문] 최대공약수와 최소공배수(Python3) (0) | 2023.01.11 |
[코딩테스트 입문] 직사각형 별찍기(Python3) (0) | 2023.01.11 |