한다 공부
[C++] 백준 알고리즘 11651번 좌표 정렬하기 2 본문
이 문제에서는 pair를 써봤다
x, y좌표를 pair에 담고
각 pair들을 vector에 담음
pair의 첫번째 원소 접근시에는 p.first,
두번째 원소는 p.second를 이용하면 된다
#include<iostream>
#include<utility>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(pair<int, int> a, pair<int, int> b) {
if (a.second != b.second)
return a.second < b.second;
else
return a.first < b.first;
}
int main() {
int n, temp;
cin >> n;
temp = n;
vector<pair<int, int>> v;
while (temp != 0) {
int x, y;
cin >> x >> y;
v.push_back(make_pair(x, y));
temp--;
}
sort(v.begin(), v.end(), cmp);
int i;
for (i = 0; i < n; i++) {
cout << v[i].first << ' ' << v[i].second << '\n';
}
}
여담으로, 시간초과가 떴었다.
구글링한 결과 cin cout이 시간을 많이 잡아먹어서,
printf를 이용하면 해결된다고하더라
그런데 코딩 멘토분께서
cin cout문제가 아니라 마지막 문장
endl;대신 \n;을 쓰면 해결된다 하셨다
정말로 시간초과가 사라짐!
endl;이 시간을 많이 잡아먹는다고 한다
'Algorithm > 문제풀이' 카테고리의 다른 글
[C++] 백준 알고리즘 19363번 요요 시뮬레이션 (0) | 2021.09.12 |
---|---|
[C++] 백준 알고리즘 10757번 큰 수 A+B (0) | 2021.09.12 |
[C++] 백준 알고리즘 1431번 시리얼 번호 (0) | 2021.09.09 |
[C++] 백준 알고리즘 1316번 그룹 단어 체커 (0) | 2021.09.09 |
[C] 큐 : 백준 알고리즘 2164번 카드2 (0) | 2021.07.15 |