<aside> 💡
현재 상황에서 지금 당장 좋은 것만 고르는 방법
</aside>

def change() :
N = int(input("Enter a new value: "))
coin_type = [500, 100, 50, 10]
answer = 0
for coin in coin_type :
quotient = N // coin
N = N % coin
answer += quotient
print("The number of coins is: ", answer)
가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없기 때문에 그리디 알고리즘을 사용
# 1. 입력 받기
N, M, K = map(int, input().split())
number_list = list(map(int, input().split()))
# 2. 정렬
number_list.sort()
# 3. 가장 큰 수와 그 다음 큰 수
first = number_list[N-1]
second = number_list[N-2]
# 4. 사용된 횟수 구하기
first_count = (M // (K+1)) * (K) + M % (K+1)
second_count = M // (K+1)
result = first * first_count + second * second_count
print(result)

# N, M을 공백을 기준으로 구분하여 입력 받기
n, m = map(int, input().split())
min_value_list = []
# 한 줄씩 입력 받아 확인
for i in range(n) :
data = list(map(int, input().split()))
# 현재 줄에서 '가장 작은 수' 찾기
min_value = min(data)
min_value_list.append(min_value)
# 가장 작은 수들 중에서 가장 큰 수 찾기
result = max(min_value_list)
print(result)
.
result = 0
# 한 줄씩 입력 받아 확인하기
for i in range(n):
data = list(map(int, input().split()))
# 현재 줄에서 '가장 작은 수' 찾기
min_value = min(data)
# '가장 작은 수'들 중에서 가장 큰 수 찾기
result = max(result, min_value)
N, K = map(int, input().split())
count = 0
while (N != 1) :
if (N % K == 0) :
N = N // K
count += 1
else :
N = N-1
count += 1
print(count)
# N, K공백을 기준으로 구분하여 입력 받기
n, k = map(int, input().split())
result = 0
while True:
# N이 K로 나누어 떨어지는 수가 될 때까지만 1씩 빼기
target = (n // k) * k
result += (n - target)
n = target
# N이 K보다 작을 때 (더 이상 나눌 수 없을 때) 반복문 탈출
if n < k:
break
# K로 나누기
result += 1
n //= k
# 마지막으로 남은 수에 대하여 1씩 빼기
result += (n - 1)
print(result)