본문 바로가기
coding 📟/coding test ⌨️

[Softeer] 금고털이

by 고돌한 데이터 사이언스 2023. 8. 21.
반응형

탐욕 알고리즘 적용

 

🧑🏻‍💻 me

import sys


if __name__ == '__main__':

    w,n = map(int, input().split())

    info_dict = {}
    for _ in range(n):
        unit_w, unit_p = map(int, input().split())
        
        if unit_p in info_dict.keys():
            info_dict[unit_p] += unit_w
        else:
            info_dict[unit_p] = unit_w


    # 가격을 기준으로 sort
    sort_dic = dict(sorted(info_dict.items(), reverse=True))
    
    # 최종 값어치
    total_price = 0

    # 해당 dic 순회하며 배낭채우기
    for k, v in sort_dic.items():
          
        # 배낭 보다 큰 경우
        if v >= w :
            total_price += w * k
            break
        
        # 배낭 보다 작은경우        
        
        total_price += v * k
        w = w - v      

        
    print(total_price)
반응형

'coding 📟 > coding test ⌨️' 카테고리의 다른 글

[Softeer] 8단 변속기  (0) 2023.08.21
[Softeer] A+B  (0) 2023.08.20
[Softeer] 근무 시간  (0) 2023.08.20

댓글