Leet Code_1333. Filter Restaurants by Vegan-Friendly, Price and Distance
Sort
https://leetcode.com/problems/filter-restaurants-by-vegan-friendly-price-and-distance/
문제 해석
이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다.
목표
주어진 조건을 만족하는 레스토랑들을 우선순위에 맞추어 정렬하여 구하기
방법
1. 주어진 조건을 만족하는 레스토랑들을 우선순위에 맞추어 정렬하여 구하기
결과
주어진 조건을 만족하는 레스토랑들을 우선순위에 맞추어 정렬하여 구하기
통과한 코드
class Solution {
public:
vector<int> filterRestaurants(vector<vector<int>>& restaurants, int veganFriendly, int maxPrice, int maxDistance) {
vector<vector<int>> res;
int nRow = 0;
for(int i = 0 ; i < restaurants.size() ; i++)
{
if(veganFriendly)
{
if(restaurants[i][2] == 0)
continue;
}
if(restaurants[i][3] > maxPrice)
continue;
if(restaurants[i][4] > maxDistance)
continue;
vector<int> data;
data.push_back(restaurants[i][1]);
data.push_back(restaurants[i][0]);
res.push_back(data);
}
sort(res.begin(), res.end());
vector<int> result(res.size(), 0);
int a = 0;
for(int i = res.size()-1 ; i >= 0 ; i--)
{
result[a++] = res[i][1];
}
return result;
}
};
2차원 vector에 조건을 만족하는 레스토랑들을 넣는다(rating, id만)
오름차순으로 정렬한 후에 뒤에서 부터 출력한다.(rating이 같으면 높은 id 먼저 출력해야되기 때문에)
문제는 이해하면 머리로는 쉽게 풀 수 있지만 사용하는 자료구조와 함수들이 헷갈린 문제
'프로그래밍 > LeetCode' 카테고리의 다른 글
C++ 925. Long Pressed Name(Leet Code) (0) | 2020.06.27 |
---|---|
C++ 931. Minimum Falling Path Sum(Leet Code) (0) | 2020.06.26 |
C++ 35. Search Insert Position(Leet Code) (0) | 2020.06.24 |
C++ 1005. Maximize Sum Of Array After K Negations(Leet Code) (0) | 2020.06.23 |
C++ 860. Lemonade Change(Leet Code) (0) | 2020.06.23 |