728x90
간단한 그리디 문제!
입력 받는 것만 안 헷갈리면 될 것 같다.
11399번: ATM
n = int(input())
time = list(map(int, input().split()))
time = sorted(time)
lst = []
cost = 0
for i in range(len(time)):
cost += time[i]
lst.append(cost)
print(sum(lst))
11047번: 동전 0
n, k = map(int, input().split())
lst = [int(input()) for _ in range(n)]
lst = sorted(lst, reverse=True)
total = 0
for i in range(n):
if lst[i] <= k:
x = k // lst[i]
total += x
k -= lst[i] * x
print(total)
lst[i] <= k 조건문은 안 써도 되지만 불필요한 연산 막기 위해 사용했는데,
= 안 붙여서 처음에 틀렸다 ^^.. 같을 수도 있다는 거 주의하자 !
728x90