2002번: 추월
입력은 총 2N+1개의 줄로 이루어져 있다. 첫 줄에는 차의 대수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 대근이가 적은 차량 번호 목록이 주어지고, N+2째 줄부터 N개의 줄에는 영식이
www.acmicpc.net
- solved.ac 기준 실버 I 난이도 문제이다
- 예제 입력 1 기준으로 생각한다면 다음과 같다:
입구 | 출구 |
ZG431SN | ZG206A |
ZG5080K | ZG431SN |
ST123D | ZG5080K |
ZG206A | ST123D |
- 입구에서 제일 마지막에 있던 ZG206A 차량이 출구에서 맨 앞에 있으므로 반드시 추월을 했다
- 즉, 입구와 출구의 차량을 순서대로 비교하며 같은 순서에 나오지 않았다면 해당 순서에 삽입해준다
- 코드로 구현하면 아래와 같다:
n = int(input())
enter = []
out = []
ans = 0
for _ in range(n):
enter.append(input())
for _ in range(n):
out.append(input())
for i in range(n):
if out[i] == enter[i]:
pass
else:
temp = enter.pop(enter.index(out[i]))
enter.insert(i, temp)
ans += 1
print(ans)
- enter 리스트에서 pop과 insert를 반복하며 out 리스트와 비교해준다
'Algorithms > 백준 (BOJ)' 카테고리의 다른 글
[백준] 1520번 내리막 길 (Python) (0) | 2022.03.31 |
---|---|
[백준] 7576번 토마토 (Python) (0) | 2022.03.31 |
[백준] 14501번 퇴사 (Python) (0) | 2022.03.23 |