문제 링크
https://www.acmicpc.net/problem/2002
문제 해결
1. 터널에 들어갈 때와 터널에서 나올 때의 차량의 순서를 각 Queue1, 2에 저장한다.
2. Queue1, 2의 front()에 있는 값이 같으면, 둘다 pop() 해준다.
3. Queue1, 2의 front()에 있는 값이 다르면, Queue1의 front() 값을 push()해주고 다시 처음 값이 나올 때까지
pop() & push()를 해준다. 그런 와중에 Queue2의 front()값과 같은 값이 나오면 pop()만 해준다.
즉, Queue1에서 Queue2의 front()와 같은 값을 찾아서 pop()해준다.
4. N번만 확인하면 추월한 차량의 수를 알 수 있다.
주의할 점
1. 비교적 간단한 문제지만, 순서가 다르다면 Queue에서 아예 pop()하는 것을 생각하기가 조금은 까다로울 수 있다.
※ 정확하고 부드러운 태클은 언제나 환영입니다.
'Problem Solving' 카테고리의 다른 글
BOJ 1194 - 달이 차오른다, 가자. (0) | 2017.02.04 |
---|---|
BOJ 10546 - 배부른 마라토너 (0) | 2016.12.31 |
BOJ 1947 - 신입 사원 (0) | 2016.12.30 |
BOJ 10820 - 문자열 분석 (0) | 2016.12.18 |
BOJ 2870 - 수학숙제 (0) | 2016.12.17 |