CodingTest/Baekjoon

[baekjoon] 백준 2002번(파이썬): 추월

JunJangE 2022. 1. 19. 02:16

문제

 

2002번: 추월

입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이

www.acmicpc.net

알고리즘

- 반복문을 통해 들어간 차량은 딕셔너리형으로 나간 차량은 리스트 형식으로 입력받는다.

- 반복문을 통해 먼저 들어갔다가 나온 차량보다 더 빨리 나온 차량이 있는지 확인한다.

코드

import sys


n = int(sys.stdin.readline())
firstCar = {}
out = []
cnt = 0

# 반복문을 통해 들어간 차를 딕셔너리로 입력 받음
for i in range(n):
    firstCar[str(sys.stdin.readline().rstrip("\n"))] = i

# 반복문을 통해 나간 차를 리스트에 입력 받음
for _ in range(n):
    out.append(str(sys.stdin.readline().rstrip("\n")))

# 반복문을 통해 먼저 들어갔다 나온 차량보다 더 빨리 나온 차량이 있는지 확인
for j in range(n - 1):
    for k in range(j + 1, n):
        # 제일 먼저 나간 차의 들어간 순번 > 그 다음으로 나간 차의 들어간 순번
        if firstCar[out[j]] > firstCar[out[k]]:
            cnt += 1
            break
print(cnt)

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com