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)
딕셔너리를 이용하여 풀 수도 있던데, 나한테는 그 방법이 더 어렵게 느껴졌다.
'코딩테스트' 카테고리의 다른 글
[백준][Python] 9935 문자열 폭발 (1) | 2024.03.24 |
---|---|
[백준][Python] 3085 사탕 게임 (0) | 2024.03.24 |
[백준][Python] 7562 나이트의 이동 (1) | 2024.03.22 |
[백준][Python] 16987 계란으로 계란치기 (0) | 2024.03.21 |
[백준][Python] 14502 연구소 (1) | 2024.03.20 |