[10μ£Ό μμ± C++ μ½λ©ν μ€νΈ] νμκ°λ - map, unique()
μ½λ©ν μ€νΈμμ μ€λ³΅μλ κ°μ μΆλ ₯νλΌκ³ ν λ, map μ΄λ unique ν¨μλ₯Ό μ΄μ©νλ€.
1. map
#include <iostream>
#include <map>
#include <vector>
using namespace std;
map<int, int> mp;
int main() {
vector<int> v{ 1,1,2,2,3,3 };
for (int i : v) {
if (mp[i]) continue;
else mp[i] = 1;
}
vector<int> ret;
for (auto it : mp) {
ret.push_back(it.first);
}
for (int i : ret) cout << i << '\n';
}
2. unique()
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> v;
int main() {
for (int i = 1; i <= 5; i++){
v.push_back(i);
v.push_back(i);
}
for (int i : v) cout << i << " ";
cout << '\n';
// μ€λ³΅λμ§ μμ μμλ‘ μ±μ΄ ν, κ·Έ λ€μ μ΄ν°λ μ΄ν°λ₯Ό λ°ννλ€.
auto it = unique(v.begin(), v.end());
cout << it - v.begin() << '\n';
// μμμ λΆν° μ€λ³΅λμ§ μκ² μ±μ΄ ν λλ¨Έμ§ μμλ€μ κ·Έλλ‘ λλ€.
for (int i : v) cout << i << " ";
cout << '\n';
//unique()μ iteratorμμ λ²‘ν° λκΉμ§λ₯Ό erase()λ‘ μ§μμ£Όλ©΄ λλ€.
v.erase(it, v.end());
for (int i : v) cout << i << " ";
cout << '\n';
return 0;
}
1 1 2 2 3 3 4 4 5 5
5
1 2 3 4 5 3 4 4 5 5
1 2 3 4 5
* unique(): λ²μ μμ μμ μ€ μ°μλ μμλ₯Ό μ§μ°κ³ λλ¨Έμ§ μμλ€μ μμ νμ§ μκ³ κ·Έλλ‘ λλ ν¨μ.
O(n)μ μκ°λ³΅μ‘λλ₯Ό κ°μ§.
μ¦, unique() λ‘ μ€λ³΅λ μμλ₯Ό μ°Ύμμ μ λ ¬νκ³ μ°Ύμκ³³ λ€λΆν° λκΉμ§λ₯Ό erase() νλ©΄ μ€λ³΅λ μμκ° μ κ±°λλ€.
μ΄ λ, λλ¨Έμ§ μμλ€μ μμ νμ§ μκ³ κ·Έλλ‘ λκΈ° λλ¬Έμ sort() λ₯Ό λ¨Όμ νκ³ νλ©΄ μ€λ³΅λ μλ₯Ό λͺ¨λ μ κ±°ν λ°°μ΄μ΄ λμ¨λ€.
* hash map μ°Έκ³ λ¬Έμ λ° νμ©μμ
https://i-believe-in-me.tistory.com/224
[C++][Programmers][ν΄μ] ν¬μΌλͺ¬
https://school.programmers.co.kr/learn/courses/30/lessons/1845 νλ‘κ·Έλλ¨Έμ€ μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ
i-believe-in-me.tistory.com
ν¬μΌλͺ¬μ 2/n κ° μ ννμ λ, μ νν μ μλ ν¬μΌλͺ¬ μ’ λ₯μ μ΅λκ°μ ꡬν΄μΌ νλ―λ‘ ν¬μΌλͺ¬ μ’ λ₯λ³λ‘ count ν hash mapμ΄ νμνλ€.
* unique(), erase() μ°Έκ³ λ¬Έμ λ° νμ©μμ
https://i-believe-in-me.tistory.com/229
[C++][Programmers][μ€ν/ν] κ°μ μ«μλ μ«μ΄
*λ¬Έμ https://school.programmers.co.kr/learn/courses/30/lessons/12906 νλ‘κ·Έλλ¨Έμ€ μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄
i-believe-in-me.tistory.com
λ¨μν μ°μλ μ«μλ₯Ό μ§μ°λ©΄ λλ λ¬Έμ μ΄λ―λ‘ unique(), erase() ν¨μλ₯Ό μ΄μ©νλ©΄ λλ€.