코테 대비 python/백준

큰 수의 법칙

ylab 2022. 2. 18. 13:37

출처: 이코테

 

#가장큰수와 두번째수 만 구하면 된다는 생각을 떠올리기!!

n,m,k= map(int,input().split())
a = list(map(int, input().split()))


#m번 더하기, k=연속해서 더해지는수
#순서대로 정렬 = > 두번째수 찾기위해서
a=sorted(a)
a        
max_1 = a[n-1]
max_2 = a[n-2]

result= (m//k)*max_1*k+(m%k)*max_2

print(result)
==========================================
 
n,m,k =map(int,input().spilt())
data = list(map(int, input().split()))

data.sort()
first = data[n-1]
second = data[n-2]

result = 0

while True:
    for i in range(k):
        if m ==0:
            break
        result += first
        m-=1
    if m == 0:
        break
    result+=second

    m-=1

print(result)
 
 
 
뭔가 반복문을 안써서 풀어서 그런지 허전하다 답지 풀이도 공부하자
 
얻은것
1. sort 사용 발상
2. 단순하게 풀수 있으면 단순하게 풀기