๋ฌธ์ ๋งํฌ: 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
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค / Python] ํ๊ฒ ๋๋ฒ (0) | 2021.03.15 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ์ง๊ฒ๋ค๋ฆฌ (0) | 2021.02.02 |
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ์ฌ ์ฐ๊ฒฐํ๊ธฐ (0) | 2021.01.26 |
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋ฒ ์คํธ์จ๋ฒ (0) | 2021.01.25 |
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ์์ฅ (0) | 2021.01.23 |