HackerRank Mark and Toys

x·2021년 5월 4일
0

problem-solving

목록 보기
13/18

prices에 있는 원소들을 오름차순 정렬하고 k에서 하나씩 빼주면서 개수를 센다. 만약 k가 0이하거나 price가 k 초과라면 종료한다.

#!/bin/python3

import os


def maximum_toys(prices, k):
    prices.sort()
    count = 0

    for price in prices:
        if k <= 0 or price > k:
            break
        k -= price
        count += 1

    return count


if __name__ == "__main__":
    fptr = open(os.environ["OUTPUT_PATH"], "w")

    first_multiple_input = input().rstrip().split()

    n = int(first_multiple_input[0])

    k = int(first_multiple_input[1])

    prices = list(map(int, input().rstrip().split()))

    result = maximum_toys(prices, k)

    fptr.write(str(result) + "\n")

    fptr.close()

0개의 댓글