-
728x90
* 생각하지 못한 점
- 벡터가 (나이, 이름)이렇게 쌍을 이루고 있고 어차피 회원가입 순서대로 입력이 되기 때문에
나이에대해서만 정렬했었으나, sort()는 원래의 자리를 보존해준다는 보장이 없었기에 틀렸다고 나옴ㅠ
=> stable_sort()를 쓰자#include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; bool compare(const pair<int, string>& a, const pair<int, string>& b) { return a.first < b.first; } int main() { // 입출력 속도 개선 cin.tie(NULL); ios_base::sync_with_stdio(false); long int N; cin >> N; vector<pair<int, string>> v(N); for (int i = 0; i < N; i++) { cin >> v[i].first >> v[i].second; } stable_sort(v.begin(), v.end(), compare); for (auto &k : v) { cout << k.first << " " << k.second << "\n"; } return 0; }
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[18868] 백준 - 멀티버스1(JAVA) (0) 2020.08.31 [18512] 백준 - 점프 점프(JAVA) (0) 2020.08.31 [2108] 백준 : 통계학(C++) (0) 2020.04.30 [1436] 백준 : 영화감독 숌(C++) (0) 2020.04.27 [1018] 백준 : 체스판 다시 칠하기(C++) (0) 2020.04.27 댓글