Home (Python)[백준][해시] 추월
Post
Cancel

(Python)[백준][해시] 추월

2002번: 추월

정답 비율: 45.182%

문제 풀이


‘나온 차의 순서’가 그 뒤에 있는 차량들의 ‘들어간 순서’보다 늦은 순서라면(inCars[outCars[i]] > inCars[outCars[j]]) 추월한 차량이기에 +1을 해주고 이를 각 차량에 대해서 반복한다.

소스 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import sys
input = sys.stdin.readline

# 차의 대수
n = int(input())

inCars = {}
outCars = []
cnt = 0

# 들어간 차를 딕셔너리로 받기
for i in range(n):
    inCars[input().rstrip("\n")] = i

# 나온 차를 리스트로 받기
for i in range(n):
    outCars.append(input().rstrip("\n"))

# 나온 i번째 차가 추월을 했는지 체크
for i in range(n-1): # 마지막 n번째 차는 추월한 차가 될 수 없음
    for j in range(i+1, n):
        if inCars[outCars[i]] > inCars[outCars[j]]:
            cnt += 1
            break
print(cnt)
This post is licensed under CC BY 4.0 by the author.