본문으로 바로가기
#include<iostream>
#include<algorithm>

using namespace std;


string arr[1000];
int n;


int getSum(string s) {
    
    int sum = 0;
    
    
    for(int i = 0; i < s.length(); i++) {
        
        if(0 <= s[i] - '0' && s[i] - '0' <= 9) // 숫자인 경우만 더하기
            sum += s[i] - '0';
    }
    
    
    return sum;
}



bool compare(string a, string b) {

    if(a.length() < b.length())
        return 1;
    
    else if(a.length() > b.length())
        return 0;
    
    else {
        int aSum = getSum(a);
        int bSum = getSum(b);
        
        
        if(aSum != bSum)
            return aSum < bSum;
            
        else
            return a < b;
    }
}



int main(void){
    
    cin >> n;
    
    
    for(int i = 0; i < n; i++)
        cin >> arr[i];
    
    
    sort(arr, arr+n, compare);
    
    
    for(int i = 0; i < n; i++)
        cout << arr[i] << '\n';
}