[Programmers] Lv2. ์๊ฒฉ ์์คํ
| C++
2023. 7. 6. 02:58ใCoding Test/Programmers
๐๋ฌธ์ ๋ณด๋ฌ๊ฐ๊ธฐ
๐จ๐ปํ์ด ๊ณผ์
๊ธฐ์กด์ ์์ฑํ๋ ์ฝ๋๋ ์๋ก ์์ฑํ ์ฝ๋๋ ์ ํ ๋ค๋ฅธ ์ ์ด ์๋ ๊ฒ ๊ฐ์๋ฐ, ์๋ก ์์ฑํ ์ฝ๋๋ ๋ง์์ต๋๋ค. ๋ฌด์จ ์ฐจ์ด์ธ ๊ฑฐ์ง... ์ ๊ฐ ํผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฏธ์ฌ์ผ๋ค์ start ์ง์ ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํฉ๋๋ค. (start ์ง์ ์ด ๊ฐ๋ค๋ฉด, end๊ฐ ์์ ๊ฑธ๋ก)
- ํ์ฌ ๊ตฌ๊ฐ์ ๋ง์ง๋ง ๋ถ๋ถ(currentEnd)์ด ๋ฏธ์ฌ์ผ์ ์์ ๋ถ๋ถ๊ณผ ๊ฐ๊ฑฐ๋ ํฌ๋ค๋ฉด, ํ์ฌ ๊ตฌ๊ฐ์์ ์๊ฒฉํ ์ ์๋ ๋ฏธ์ฌ์ผ์
๋๋ค.
- ๋ฐ๋ผ์, ์ ๊ตฌ๊ฐ์ ๋๋ฆฌ๊ณ , ํ์ฌ ๋ฏธ์ฌ์ผ์ ๋ง์ง๋ง ๋ถ๋ถ์ currentEnd๋ก ์ค์ ํด์ค๋๋ค.
- ์์ ๋ฌ๋ฆฌ ์๊ฒฉํ ์ ์๋ ๋ฏธ์ฌ์ผ์ด๋ผ๋ฉด, currentEnd์ ๋ฏธ์ฌ์ผ์ end ์ค ์์ ๊ฑธ currentEnd๋ก ๊ฐฑ์ ํด์ค๋๋ค.
โ๏ธ์์ค ์ฝ๋ ๋ฐ ๊ฒฐ๊ณผ
#include <vector>
#include <algorithm>
using namespace std;
bool Compare(const vector<int>& m1, const vector<int>& m2) {
if (m1[0] == m2[0])
return m1[1] < m2[1];
return m1[0] < m2[0];
}
int solution(vector<vector<int>> targets) {
sort(targets.begin(), targets.end(), Compare);
int currentEnd = 0, answer = 0;
for (const auto& target : targets) {
int start = target[0], end = target[1];
if (currentEnd <= start) {
answer++;
currentEnd = end;
continue;
}
currentEnd = min(currentEnd, end);
}
return answer;
}
728x90
๋ฐ์ํ
'Coding Test > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] Lv2. ์์ ๊ฒ์ | C++ (0) | 2023.07.10 |
---|---|
[Programmers] Lv2. ์ด๋ชจํฐ์ฝ ํ ์ธํ์ฌ | C++ (2) | 2023.07.09 |
[Programmers] Lv2. ํผ์์ ํ๋ ํฑํํ | C++ (0) | 2023.07.05 |
[Programmers] Lv2. ์ซ์ ๋ธ๋ก | C++ (0) | 2023.07.04 |
[Programmers] Lv2. ๋ ์ ์ฌ์ด์ ์ ์ ์ | C++ (0) | 2023.07.03 |