[HackerRank/C++] Service Lane
2023. 2. 7. 07:51ㆍ코딩테스트 해커랭크/Algorithms -Easy
갓길의 넓이 값이 배열로 주어지고, cases에는 해당 넓이 배열의 인덱스 케이스를 받는다
각 cases의 값에서 들어갈수 있는 최대 넓이를 구하고 return 한다
vector<int> serviceLane(int n, vector<vector<int>> cases, vector<int> width)
{
vector<int> result;
for (int i = 0; i < cases.size(); ++i)
{
int temp = width[cases[i][1]];
for (int j = 0; j < cases[i][1] - cases[i][0]; ++j)
if (width[cases[i][0] + j] < temp)
temp = width[cases[i][0] + j];
result.push_back(temp);
}
return result;
}
정말 개 쓰레기같은 문제인데 main 함수에 width라는 vector가 존재하지만 정작 serviceLane 함수의 매개변수로는 넘겨주지 않는다
따라서 직접 main 함수에서 넓이를 가지고 있는 vector를 찾아 함수 매개변수에 추가시켜줘야 한다
정말 쓰레기같다
문제 자체는 어렵지 않은데 width의 정보가 어디있는지 찾다가 시간을 어마어마하게 잡아먹는 엿먹이는 문제다
모든 케이스를 확인해야 되므로 cases.size()만큼 반복하며, cases의 각 인덱스에 있는 사잇값으로 width의 인덱스로 사용해 그 중 가장 작은 수를 찾아 result에 push_back 해준다
모든 cases가 끝나면 result를 return 한다
'코딩테스트 해커랭크 > Algorithms -Easy' 카테고리의 다른 글
| [HackerRank/C++] Flatland Space Stations (0) | 2023.02.08 |
|---|---|
| [HackerRank/C++] Lisa's Workbook (0) | 2023.02.07 |
| [HackerRank/C++] Chocolate Feast (0) | 2023.02.07 |
| [HackerRank/C++] Halloween Sale (0) | 2023.02.07 |
| [HackerRank/C++] Minimum Distances (0) | 2023.02.07 |