개발자 톡

연습문제 톡 금고털이

테스트 케이스 2번 5번 질문드립니다.

등록일
2024-01-29 22:58:43
조회수
491
작성자
phamon11

import sys


total, n = map(int, sys.stdin.readline().split())


bag=[]

for _ in range(n):

  m, p = map(int, sys.stdin.readline().split())

  bag.append([p,m])

result = 0

bag.sort(reverse = True)


idx = 0


while total>0 and idx < n:

  if total - bag[idx][1] >=0:

    total -= bag[idx][1]

    result += bag[idx][0] * bag[0][1]

  else:

    result += total * bag[idx][0]

    total = 0

  idx += 1

print(result)



테케 2번 5번에서 오답이라 뜨고, 시간도 3초가 넘어가는데

시간 관련된 문제는 금속의 무게와 무게당 가격 리스트를 받아오는 곳에서 리스트 컴프리헨션을 사용하지 않고 리스트에 추가한 후 정렬을 해서 그런 건가요??


시간초과 제외하고는 알고리즘상에 문제는 없어보이는데 왜 오답으로 작성되는지 모르겠습니다!

도와주세요..ㅠㅠ

#금고털이

이 카테고리의 톡 더보기