Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / C++] ๋‹จ์†์นด๋ฉ”๋ผ

meeeeejin 2021. 2. 1. 21:22

 

๋ฌธ์ œ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42884

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋‹จ์†์นด๋ฉ”๋ผ

[[-20,15], [-14,-5], [-18,-13], [-5,-3]] 2

programmers.co.kr

 

ํ’€์ด

 

๋‚˜๋Š” ์ฒ˜์Œ์— ์ฐจ๋Ÿ‰์„ ์ง„์ž… ์‹œ์ ์ด ๋น ๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ ์ง„์ถœ ์‹œ์ ์ด ๋น ๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ ํ›„ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๊ฒŒ ๋” ๊ฐ„๋‹จํ–ˆ๋‹ค. 

 

  • ์ง„์ถœ ์‹œ์ ์ด ๋น ๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์ฐจ๋Ÿ‰์„ ์ •๋ ฌํ•œ๋‹ค. 
  • 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