- 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 |