반응형
https://programmers.co.kr/learn/courses/30/lessons/42884
sort후 routes를 비교하는 방법으로 문제를 해결할 수 있습니다.
문제 접근법
- sort를 사용하여 routes를 오름차순으로 정렬한다.
- 처음 진입한 차량의 나간 시간을 저장한다.
- 그 다음 차량의 들어온 시간이 저장된 시간보다 작을경우 저장값을 저장값과 들어온 차량의 나가는 시간과 비교하여 작은값으로 바꿔줍니다.
- 그 다음 차량의 들어온 시간이 저장된 시간보다 클 경우 저장값을 들어온 차량의 나가는 시간으로 변경하고 카메라 수를 증가시킵니다.
아래는 코드입니다.
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> routes) {
int answer = 1;
int len = routes.size();
sort(routes.begin(), routes.end());
int cPos = routes[0][1];
for(int i = 1; i < len; i++)
{
if(cPos >= routes[i][0])
cPos = min(cPos, routes[i][1]);
else
{
cPos = routes[i][1];
answer++;
}
}
return answer;
}
|
cs |
반응형
'프로그래머스 문제풀이 > LEVEL 3' 카테고리의 다른 글
[프로그래머스 / Level 3] 섬 연결하기 (C++) (0) | 2021.11.25 |
---|---|
[프로그래머스 / Level 3] 입국심사 (C++) (0) | 2021.11.16 |
[프로그래머스 / Level 3] 정수 삼각형 (C++) (0) | 2021.11.02 |
[프로그래머스 / Level 3] 등굣길 (C++) (0) | 2021.11.02 |
[프로그래머스 / Level 3] 네트워크 (C++) (0) | 2021.11.02 |