ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 큐 - 다리를 지나는 트럭
    프로그래머스알고리즘 2021. 4. 25. 15:16
    #include<iostream>
    #include<vector>
    #include<queue>
    using namespace std;
    
    int main()
    {
    	queue<int> q;
    	int length = 2;
    	int weight = 10;
    	int sum = 0;
    	int index = 0;
    	int time = 0;
    	vector<int> tmp;
    	tmp.push_back(7);
    	tmp.push_back(4);
    	tmp.push_back(5);
    	tmp.push_back(6);
    	
    	while(1)
    	{
    		time++;
    		
    		if(q.size()==length)//다리길이만큼 사이즈가 찼을 시 
    		{
    			sum = sum - q.front();
    			q.pop();
    		}
    		if(sum + tmp[index] <= weight)//트럭의 무게가 다리의 저항 무게보다 적을때 
    		{
    			if(index == tmp.size()-1)//버스 모두 다 전송 
    			{
    				time = time + length;
    				break; 
    			}
    			
    			q.push(tmp[index]);
    			sum = sum + tmp[index];
    			index++;
    			
    		}
    		else//트럭의 무게가 다리의 저항 무게보다 무겁기때문에 0을 삽입해서 트럭을 도착지점으로 밀어줌 
    		{
    			q.push(0);	
    		} 
    		
    	}
    	cout << time; 
    	
    }

    '프로그래머스알고리즘' 카테고리의 다른 글

    힙 - 더맵게  (0) 2021.04.26
    완전탐색 - 카펫  (0) 2021.04.26
    완전탐색 소수찾기  (0) 2021.04.24
    에라토스테네스의 체  (0) 2021.04.24
    구명보트  (0) 2021.04.13
Designed by Tistory.