Algorithm42 [그리디] 큰 수의 법칙 (파이썬) 다양한 수로 이루어진 배열이 있을 때, 주어진 수들을 M번 더하여 가장 큰 수를 만든다. 단, 배열의 특정한 인덱스에 해당하는 수가 연속해서 K번을 초과해서 더해질 수 없다. #N M K n, m, k = map(int, input().split()) #N개의 수 nums = list(map(int, input().split())) #큰 순서대로 정렬하기 nums.sort(reverse=True) max1 = nums[0] max2 = nums[1] cnt = 1 result = max1 #더하기 while cnt < m: if cnt%k != 0: result += max1 cnt += 1 elif cnt%k == 0: result += max2 cnt += 1 print(result) 가장 큰 수와 .. 2022. 7. 16. [그리디] 거스름돈 (파이썬) 당신은 음식점의 계산을 도와주는 점원이다. 카운터에는 거스름돈으로 사용할 500원, 100원, 50원, 10원짜리 동전이 무한히 존재한다고 가정한다. 손님에게 거슬러 줘야 할 돈이 N원일 때 거슬러줘야 할 동전의 최소 개수를 구하라. 단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다. N = int(input()) cnt = 0 coin = [500, 100, 50, 10] while N >= coin[0]: N = N - coin[0] cnt += 1 print(N, cnt) while N = coin[1]: N = N - coin[1] cnt += 1 print(N, cnt) while N = coin[2]: N = N - coin[2] .. 2022. 7. 16. 이전 1 ··· 8 9 10 11 다음