열심히 코딩 하숭!
[알고리즘][정렬] 10814번 나이순 정렬 | baekjoon 문제 풀이 본문
https://www.acmicpc.net/problem/10814
풀이
C++의 배열 정렬 함수 sort를 이용하고, compare 함수를 선언해서 문제에 맞는 조건을 적용시켜줬다.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool compare(const pair<int, pair<int, string>> &a, const pair<int, pair<int, string>>& b) {
if (a.second.first == b.second.first) {
return a.first < b.first;
}
return a.second.first < b.second.first;
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int N; cin >> N;
pair<int, pair<int, string>>* p = new pair<int, pair<int, string>>[N];
int age;
string name;
for (int i = 0; i < N; i++) {
cin >> age >> name;
p[i] = { i, {age, name} };
}
sort(p, p + N, compare);
for (int i = 0; i < N; i++) {
cout << p[i].second.first << ' ' << p[i].second.second << '\n';
}
}
'코딩테스트 > 알고리즘' 카테고리의 다른 글
[알고리즘] 2470 두 용액 | baekjoon 문제 풀이 (0) | 2023.04.07 |
---|---|
[알고리즘][정렬] 10815번 숫자 카드 | baekjoon 문제 풀이 (0) | 2023.04.03 |
[알고리즘][DP, 수학] 2839번 설탕 배달 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][수학] 1181번 단어 정렬 | baekjoon 문제 풀이 (0) | 2023.04.02 |
[알고리즘][수학] 11399번 ATM | baekjoon 문제 풀이 (0) | 2023.04.02 |