본문 바로가기

Problem Solving

BOJ 2002 - 추월

문제 링크


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