https://www.acmicpc.net/problem/2002
딕셔너리를 활용해 차량이 들어온 순서를 기억하고 있는다.
나간 차량의 들어왔던 순서를 리스트로 만들고 앞에서부터
자신보다 뒤에 나간 차량 중 먼저 들어왔던 차량이 있다면 추월한 것이므로 cnt
를 늘려주면 된다.
n의 크기가 별로 크지않아 O(N^2)
으로 추월 차량을 살펴도 문제가 되지 않는다.
import sys
input = sys.stdin.readline
def get_in_order(n):
order = 1
in_order = {}
for i in range(n):
car = input().rstrip()
in_order[car] = order
order += 1
return in_order
def chk_out_car(n, in_order):
cnt = 0
out_cars = []
for i in range(n):
car = input().rstrip()
out_cars.append(in_order[car])
for i in range(n):
for j in range(i + 1, n):
if out_cars[i] > out_cars[j]:
cnt += 1
break
return cnt
def solve():
n = int(input())
return chk_out_car(n, get_in_order(n))
print(solve())