[이것이 코딩테스트다 with 파이썬] 그리디
실전문제 1. 큰 수의 법칙 내 풀이 n, m, k = map(int, input().split()) data = list(map(int, input().split())) data.sort() first = data[n-1]; second = data[n-2]; result = 0; while m>0: for i in range (k): result += first m-=1 result += second m-=1 print(result) 모범답안 문제 푸는 아이디어 : 반복되는 수열 반복되는 수열의 길이 = k + 1 수열이 반복되는 횟수 = m / (k + 1) -> m 이 나누어 떨어지지 않는 경우도 고려해야한다. m이 나누어 떨어지지 않는 경우에는 m을 k+1로 나눈 나머지만큼 가장 큰 수가 추가로..
알고리즘
2023. 2. 21. 13:25