Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- selinux port 등록
- python subprocess
- centos pyhon 설치
- linux시간으로 변경
- python popen
- g++ 업데이트
- 정규식 활용
- snmp test
- influxdb 설치
- gcc 업데이트
- c3 second
- grafana dashboard
- snmp
- 정규식 컴파일
- python os
- InfluxDB
- 백준
- semanage
- subporcess path
- telegraf
- regex_search
- c3 step graph
- c3 축 가리기
- c3 축 없애기
- 정규식 문자열 출력
- c3 초
- CentOS7
- 1697
- c++ 정규식
- gcc regex
Archives
- Today
- Total
리셋 되지 말자
pair 구성요소를 같은 vector 정렬하기 본문
sort 활용
- 예시
vector<pair<int,int>> v;
v.sort(v.begin(), v.end());
위처럼 하면 자동으로 first를 기준으로 오름차순으로 정렬된다
first가 같으면 second를 기준으로 오름차순으로 정렬된다.
second를 기준으로 우선 오름차순 정렬 후, second가 같으면 x를 기준으로 오름차순 정렬
- 코드1 (백준 11651)
#include <bits/stdc++.h>
using namespace std;
bool compare(pair<int, int> a, pair<int, int>b){
if(a.second==b.second){
return a.first<b.first;
}else{
return a.second<b.second;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
//y 좌표가 증가하는 순으로. y좌표가 같으면 x좌표가 증가하는 순으로
int c;
cin>>c;
vector<pair<int,int>> v(c);
for(int i=0; i<c; i++){
cin>>v[i].first>>v[i].second;
}
sort(v.begin(), v.end(), compare);
for(int i=0; i<c; i++){
cout << v[i].first << ' ' << v[i].second << '\n';
}
return 0;
}
compare 함수의 인자로 뭐가 들어가야 하는지 자주 햇갈리는데, 인자로
정렬하려는 자료형의 인자(여기서는 pair<int,int>)를 넣어주면 된다.
- 코드2 (백준 10814)
#include <bits/stdc++.h>
using namespace std;
bool compare(pair<pair<int,string>,int> a, pair<pair<int,string>,int> b){
if(a.first.first!=b.first.first){
return a.first.first<b.first.first;
}else{
return a.second<b.second;
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int c;
cin>>c;
vector<pair<pair<int,string>,int>> v(c);
for(int i=0; i<c; i++){
cin>>v[i].first.first>>v[i].first.second;
v[i].second=i;
}
sort(v.begin(), v.end(), compare);
for(int i=0; i<c; i++){
cout<<v[i].first.first<<' '<<v[i].first.second << '\n';
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[백준 1654] 랜선 자르기 - 이분탐색 (0) | 2021.12.22 |
---|---|
[백준] 11724 (0) | 2020.08.27 |
[우선순위 큐(Heap)] c++ (0) | 2020.06.14 |
[백준 1654] 랜선 자르기 (0) | 2020.06.09 |
[c++] stoi (0) | 2020.05.21 |
Comments