BOJ 2002 - 추월 (python)

rivermt·2023년 8월 29일
0

BOJ

목록 보기
15/18

문제


https://www.acmicpc.net/problem/2002

풀이

딕셔너리를 활용해 차량이 들어온 순서를 기억하고 있는다.
나간 차량의 들어왔던 순서를 리스트로 만들고 앞에서부터
자신보다 뒤에 나간 차량 중 먼저 들어왔던 차량이 있다면 추월한 것이므로 cnt를 늘려주면 된다.

n의 크기가 별로 크지않아 O(N^2)으로 추월 차량을 살펴도 문제가 되지 않는다.

CODE

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())
profile
화이팅!!

0개의 댓글