[이코테] 실전문제 2번 큰 수의 법칙
2023. 2. 9. 23:14ㆍAlgorithm
문제 : 주어진 수들을 M번 더하여 가장 큰수를 만드는 법칙이다. 단. 배열의 특정한 인텍스에 해당하는 수가 연속으로 K번을 초과하여 더해질 수 없는 것이 이 법칙의 특징이다
- 첫번째 줄에는 n m k가 공백으로 자연수 구분
- 두번째 줄에는 n 리스트 값을 넣어준다
- 입력으로 주어지는 K는 항상 M보다 작거나 같다
n,m,k = map(int, input().split())
data = list(map(int, input().split()))
# 리스트로 입력 받는 값을 k 번이상 똑같은 수로 반복할 수 없고 m 번반복해서 더해줘야한다
# 첫번째로는 큰수를 k번 반복 후 그다음 큰수를 찾는다 해당 인덱스 번호를 제외하고 찾기
# 첫번째로 큰수를 찾고 두번째 큰수를 찾는다 그리고 반복하는 것이 방법일 것이다
# 1번 리스트에서 첫번째로 큰 수를 찾는다
data.sort()
first_num = data[n-1]
second_num = data[n-2]
print(data.sort())
print(first_num)
print(second_num)
# 2번 k번 반복하고 다음 수로 넘어가기
# 결과물
result = 0
while True:
# k 번만큼 반복
for i in range(k):
if m == 0:
break
result += first_num
m -= 1
if m == 0:
break
result += second_num
m-=1
print(result)
'Algorithm' 카테고리의 다른 글
[이코테] 상하좌우 (0) | 2023.03.05 |
---|---|
[1978 - 파이썬] - 소수 찾기 (0) | 2023.03.04 |
[2839 - 파이썬] - 설탕배달 (0) | 2023.02.22 |
[2775번 - 파이썬] - 부녀회장이 될테야 (0) | 2023.02.22 |
[이코테] 실전문제 4번 1이 될 때까지 (0) | 2023.02.16 |