Algorithm/ํ๋ก๊ทธ๋๋จธ์ค
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋จ์์นด๋ฉ๋ผ
meeeeejin
2021. 2. 1. 21:22
๋ฌธ์ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42884
ํ์ด
๋๋ ์ฒ์์ ์ฐจ๋์ ์ง์ ์์ ์ด ๋น ๋ฅธ ์์๋๋ก ์ ๋ ฌํด์ ๋ฌธ์ ๋ฅผ ํ์๋๋ฐ, ๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ๋ณด๋ ์ง์ถ ์์ ์ด ๋น ๋ฅธ ์์๋๋ก ์ ๋ ฌ ํ ๋ฌธ์ ๋ฅผ ํธ๋๊ฒ ๋ ๊ฐ๋จํ๋ค.
- ์ง์ถ ์์ ์ด ๋น ๋ฅธ ์์๋๋ก ์ฐจ๋์ ์ ๋ ฌํ๋ค.
- 1) ์ฐจ๋์ ์ง์
์์ ์ด camera๋ณด๋ค ์์ ์๋ค๋ฉด(์๊ฑฐ๋ ๊ฐ๋ค๋ฉด)
=> ์ฐจ๋ ๊ฒฝ๋ก๊ฐ camera ์์น์ ํฌํจ๋๋ฏ๋ก ์ถ๊ฐ ์นด๋ฉ๋ผ ์ค์น ํ์ ์์
2) ์ฐจ๋์ ์ง์ ์์ ์ด camera๋ณด๋ค ๋ค์ ์๋ค๋ฉด(ํฌ๋ค๋ฉด)
=> ํ์ฌ ์ฐจ๋์ ์ง์ถ ์์ ์ ๋ค๋ฅธ ์นด๋ฉ๋ผ๋ฅผ ์ค์นํด์ผ ํจ
์์ค์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(vector<int> a, vector<int> b) {
return a[1] < b[1];
}
int solution(vector<vector<int>> routes) {
int answer = 0;
int camera = -30001;
sort(routes.begin(), routes.end(), cmp); // ์ง์ถ ์์ ์ด ๋น ๋ฅธ์
for(int i = 0; i < routes.size(); i++){
if(camera < routes[i][0]){
answer++;
camera = routes[i][1];
}
}
return answer;
}
|
cs |
728x90