[Data Structure & Alogrithm] Cpp Coing Test Tip
📝 <algorithm>
📌 find
- 범위 안에 원하는 값을 찾아준다.
- ex) 벡터 내에 특정 값이 있는지 확인할 때 사용.
- 찾고자하는 값이 있으면, 해당 위치를 가리키는 이터레이터 반환.
- 찾고자하는 값이 없으면, 원소의 끝을 가리키는 end() 반환.
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main() {
vector<int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int num = 7;
if (find(v.begin(), v.end(), num) != v.end())
cout << num << "이 벡터에 존재합니다.\n";
else
cout << num << "이 벡터에 존재하지 않습니다.\n";
num = 77;
if (find(v.begin(), v.end(), num) != v.end())
cout << num << "이 벡터에 존재합니다.\n";
else
cout << num << "이 벡터에 존재하지 않습니다.\n";
return 0;
}
📌 sort
📌 reverse
📝 <string>
📌 substr
- substr을 사용하면, 문자열을 원하는 크기로 자를 수 있다.
#include<iostream>
#include<string>
using namespace std;
int main() {
string str = "abcdefghifjklmnop";
cout << "원본 문자열 : " << str + "\n\n";
// 인덱스 0부터 5개만큼 자른다.
int index = 0, size = 5;
cout << "자른 결과 : " << str.substr(index, size) + "\n\n";
// 인덱스 5부터 3개만큼 자른다.
index = 5, size = 3;
cout << "자른 결과 : " << str.substr(index, size) + "\n\n";
// 이렇게 인덱스만 주면, 인덱스부터 끝까지 자른다.
index = 8;
cout << "자른 결과 : " << str.substr(index) + "\n\n";
// size가 문자열 크기를 초과하면, 끝까지 자른다.
index = 0, size = 99999999;
cout << "자른 결과 : " << str.substr(index, size) + "\n\n";
return 0;
}
📌 find
📌 erase
📌 stoi, stol, stoll
📌 getline
📌 replace
📝 <set>
- 중복된 원소를 담지 않는 자료구조다.
- cpp set은 min heap으로 구현되어있다.
#include<iostream>
#include<set>
using namespace std;
int main(){
set<int> s;
s.insert(-1);
s.insert(11);
s.insert(-34);
s.insert(122);
s.insert(83);
cout << *s.begin() << endl; // 내부구조가 min heap이므로 -34 출력
cout << *s.rbegin() << endl; // 내부구조가 min heap이므로 122 출력
}
🔎 출처 & 더 알아보기