티스토리 뷰
https://www.acmicpc.net/problem/1431
정렬 기준에 따라 비교 함수를 만들어준다.
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 32 33 34 35 | #include <iostream> #include <vector> #include <string> #include <algorithm> using namespace std; bool cmp(string &a,string &b) { int s1=a.size(),s2=b.size(); if(s1!=s2) return s1<s2; else { int sum1=0,sum2=0; for(int i=0;i<s1;i++) if(a[i]>='0' && a[i]<='9') sum1+=a[i]-'0'; for(int i=0;i<s2;i++) if(b[i]>='0' && b[i]<='9') sum2+=b[i]-'0'; if(sum1!=sum2) return sum1<sum2; else return a<b; } } int main() { int n; cin>>n; vector<string> s(n); for(int i=0;i<n;i++) cin>>s[i]; sort(s.begin(),s.end(),cmp); for(int i=0;i<n;i++) cout<<s[i]<<'\n'; return 0; } | cs |
'Algorithm > BOJ' 카테고리의 다른 글
1003 피보나치 함수 (0) | 2018.03.01 |
---|---|
1526 가장 큰 금민수 (0) | 2018.02.28 |
1305 광고 (0) | 2018.02.27 |
1701 Cubeditor (0) | 2018.02.27 |
1786 찾기 (0) | 2018.02.27 |