가상의 배틀로얄 카 레이싱 대회 Dead or Arrive에 출전한 팀 모비스는 이 대회를 완주하기 위해 가장 안전한 차량을 만들려고 한다. 79GHz 코너 레이더와 ADAS 센서를 설치해 장애물과 경쟁자 차량을 피해 안전하게 결승선까지 도달할 수 있도록 하였다.
하지만 팀 모비스의 경쟁팀인 팀 Mars Killaz는 DOA대회에서 모든 반칙이 허용되는 만큼 n대의 차량을 풀어 팀 모비스의 차량을 추격하기로 한다. 수소연료전지 파워팩을 부착하고 있는 팀 모비스의 차량은 Mars Killaz의 차량은 모두 피해 갔지만, Mars Killaz의 차량은 서로 부딪쳐 아수라장이 된 채로 결승선에 도착했다. DOA대회가 종료되고, Mars Killaz는 팀 차량이 모두 결승선에 도착하지 못했다는 사실을 발견했다. 그래서 결승선에 도착한 차량을 찾아 실험을 하기로 했다. Mars Killaz의 차량은 각 차량마다 v의 속도와 w의 내구도를 가지고 있다.
때문에 서로 다른 속도의 차량은 부딪침 없이 결승선에 들어올 수 있다. 그러나 속도가 같은 차량이 여러 대가 있다면, 그 중 내구도가 가장 높은 차량만 결승선에 들어올 수 있다. 속도와 내구도가 모두 같은 차량도 여러 대가 존재한다면, 그 중 차량 번호가 가장 큰 차량만 결승선에 들어올 수 있다.
Mars Killaz의 차량 중 결승선에 들어온 차량의 번호의 합을 출력하시오.
첫 번째 줄에 Mars Killaz의 차량의 숫자 정수 n(1 n 2,000,000)이 주어진다.
두 번째부터 n줄에 걸쳐서 각 줄에 Mars Killaz의 차량의 특성이 주어진다.
i+1번째 줄은 i번째 차량의 정보이다. 각 차량의 특성은 속도의 값인 정수 v(1 v 1,000)와 차량의 내구도 w(1 w 1,000,000,000)이 주어진다.
input1 = input()
carinfo = []
for i in range(int(input1)):
carinfo.append(list(map(int, input().split())))
# add car number
for i in range(len(carinfo)):
carinfo[i].append(i+1)
# velocity is the chain between durability & car number
velocity = {}
carnum = {}
for car in carinfo:
if car[0] not in velocity:
velocity[car[0]] = car[1]
carnum[car[0]] = car[2]
else:
if velocity[car[0]] <= car[1]:
velocity[car[0]] = car[1]
carnum[car[0]] = car[2]
else:
pass
print(sum(carnum.values()))
https://level.goorm.io/
https://velog.io/@charbs0701/python-%EA%B5%AC%EB%A6%84-Dead-or-Arrive