알고리즘
C++
삶은겨란
2022. 10. 28. 18:40
pair값을 sort
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(pair<int, int> a, pair<int, int> b) {
if (a.first == b.first) {
return a.second < b.second;
}
else {
return a.first < b.first; // first값을 기준으로 오름차순
}
}
int main() {
vector<pair<int, int>> v;
int a,b;
for (int i = 0; i < 5; i++) {
cin >> a >> b;
v.push_back({ a,b });
}
sort(v.begin(), v.end(), compare);
for (auto i : v) {
cout << i.first << " " << i.second << "\n";
}
return 0;
}
벡터안에 값이 있는지 확인하기
find(v.begin(), v.end(), 찾는 값) == v.end() => 해당 값이 존재하지 않음
find(v.begin(), v.end(), 찾는 값) - v.begin() => 찾는 값이 존재하는 인덱스 (거리를 이용해 찾음)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n,cnt=0;
string s;
cin >> n;
for (int k = 0; k < n;k++) {
vector<char> v;
cin >> s;
for (int i = 0; i < s.length(); i++) {
if(find(v.begin(), v.end(), s[i])==v.end()) { // 벡터에 없으면
v.push_back(s[i]);
}
else { // 벡터내에 있으먄
if (s[i] != s[i - 1]) {//앞에 있는지 확인해서 같지 않으면
cnt++;
break;
}
}
}
}
cout << n - cnt<<endl;
return 0;
}