13904

Leeys·2022년 1월 6일

백준

목록 보기
3/14

풀이1

  1. 배열에 d, w를 받는다.
  2. 점수가 높은순으로 배열을 정렬한다.
  3. 배열을 돌면서 높은 점수에 해당하는 문제를 언제 풀 것인지 정한다
    (배열을 하나 생성해서 인덱스로 넣기)
n = input()
n = int(n)

arr = []
todo = []

for i in range(1001):
  todo.append(0)

for i in range(n):
  d, w = map(int, input().split())
  arr.append([d,w])
  
arr.sort(key = lambda x:x[1], reverse = True)

i = 0
while True:
  if i == n:
    break
  
  q = arr[i][0]
  while q > 0:
    if todo[q] == 0:
      todo[q] = arr[i][1]
      break
    else:
      q -= 1

  i += 1
  
print(sum(todo))
profile
공부 리마인드

0개의 댓글