코딩테스트
[백준][Python] 2002 추월
yeeejji
2024. 3. 23. 17:47
728x90
🚨
https://www.acmicpc.net/problem/2002
2002번: 추월
입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이
www.acmicpc.net
내 풀이
N = int(input())
enter = [] # 차가 터널에 들어가는 순서대로
exit = [] # 차가 터널에서 나오는 순서대로
ans = 0
for _ in range(N):
enter.append(input())
for _ in range(N):
exit.append(input())
for i in exit:
if i != enter[0]: # 차가 들어간 순서와 나오는 순서 불일치
ans += 1
enter.remove(i)
else: # 일치
enter.pop(0)
print(ans)
코드 설명
enter 리스트에 차량 번호를 터널에 들어가는 순서대로 추가한다.
exit 리스트에 차량 번호를 터널에서 나오는 순서대로 추가한다.
for _ in range(N):
enter.append(input())
for _ in range(N):
exit.append(input())
들어간 순서와 나온 순서가 불일치하는 경우, 추월을 한 것이므로 정답(ans) += 1 !
검사한 차량 번호는 삭제해 준다.
for i in exit:
if i != enter[0]: # 차가 들어간 순서와 나오는 순서 불일치
ans += 1
enter.remove(i)
else: # 일치
enter.pop(0)
딕셔너리를 이용하여 풀 수도 있던데, 나한테는 그 방법이 더 어렵게 느껴졌다.