[백준] 1431번 시리얼 번호 (C++, 정렬)
728x90
반응형
C++ 어려버 ㅠㅠ
새 언어로 처음부터 다시 하려니 힘들다
#define _CRT_SECURE_NO_WARNINGS
#define rep(i,s,e) for(int i=s;i<e;i++)
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int cmp(const string &a,const string& b) {
if (a.length() != b.length()) {
return a.length() < b.length();
}
else {
int sum = 0, sum2 = 0;
rep(i, 0, a.length()) {
if(a[i]>='0' && a[i]<='9')
sum += a[i] - '0';
}
rep(i, 0, b.length()) {
if (b[i] >= '0' && b[i] <= '9')
sum2 += b[i] - '0';
}
if (sum != sum2)return sum < sum2;
else return a < b;
}
}
int main(int argc, char** argv)
{
freopen("input.txt", "r", stdin);
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<string> v(n);
rep(i, 0, n) {
cin >> v[i];
}
sort(v.begin(), v.end(), cmp);
for (auto x : v) {
cout << x << "\n";
}
return 0;
}
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 5648번 역원소 정렬 (C++, 정렬) (0) | 2021.10.07 |
---|---|
[백준] 11652번 카드 (C++, 정렬) (0) | 2021.10.07 |
[백준] 17219번 비밀번호 찾기 (C++, 해시) (0) | 2021.10.06 |
[백준] 13414번 수강신청 (C++, 해시) (0) | 2021.10.06 |
[백준] 1620번 나는야 포켓몬 마스터 이다솜 (C++, 해시) (0) | 2021.10.06 |
TAGS.