Dolphins의 HelloWorld
Programmers > 코딩테스트 연습 > 스택/큐 > 다리를 지나는 트럭 본문
문제링크 : https://programmers.co.kr/learn/courses/30/lessons/42583#
풀이
과정하나를 빠뜨려서 그것때문에 꽤 오랜시간을 푼 문제이다.
일단 이 문제를 위해 다음의 queue<pair<int,int>> q; 를 사용하였다.
이 큐의 첫번째 인자로는 다리를 지나는 트럭의 무게 그리고 두번째 인자로는
그 트럭이 다리를 건너기 시작한 시간을 주었다.
이 문제를 풀기 위해 첫 트럭부터 조건문을 통해서 문제를 해결해주었고
무게를 검사했을 때 해당 트럭이 다리에 올라갈 수 있다면
큐에 트럭의 정보를 삽입 후 시간을 1 증가시켰다.
만약 다리에 올라갈 수 없다면 큐의 맨 앞에 있는 트럭(다리의 맨 앞에있는 트럭)이 다리를 일단
지나가야 뭘할 수 있으므로 시간과 다리가 견딜 수 있는 무게를 트럭이 완전히 지나갔을 때를
기준으로 재설정 한 후 반복문안에서 조건문을 다시 수행하도록 하였다.
이런 과정과 더불어 시간에 따라 이미 건넌 트럭을 큐에서 제거하는 과정을 제대로 수행해준다면
완전히 문제를 풀 수 있다.
'Algorithm > Programmers 문제풀이' 카테고리의 다른 글
Programmers > 코딩테스트 연습 > 스택/큐 > 프린터 (0) | 2018.09.14 |
---|---|
Programmers > 코딩테스트 연습 > 스택/큐 > 기능개발 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 쇠막대기 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 탑 (0) | 2018.09.14 |
Programmers > 코딩테스트 연습 > 스택/큐 > 주식가격 (0) | 2018.09.14 |
Comments