[Leetcode] 1094. Car Pooling (C++)

마이구미·2022년 1월 6일
0

PS

목록 보기
68/69

문제

1094. Car Pooling

코드

class Solution {
public:
    bool carPooling(vector<vector<int>>& trips, int capacity) {
        vector<int> v(1001, 0);
        
        for (auto trip : trips){
            v[trip[1]] += trip[0];
            v[trip[2]] -= trip[0];
        }
        
        int load = 0;
        for (int i = 0; i < v.size(); i++){
            if (v[i] == 0) continue;
            load += v[i];
            
            if (load > capacity) return false;
        }
        return true;
    }
};

접근

trips의 값을 기준으로 from과 to의 위치에서 각각 승객의 수를 더하고 빼주었다. 후에 값을 저장한 벡터를 앞에서부터 순차적으로 살펴보게 되면 어느 순간 capacity이상의 승객이 타있는 경우를 발견할 수 있으므로 문제를 해결할 수 있다.

profile
마이구미 마시쪙

0개의 댓글