結果

問題 No.256 桁の数字を入れ替え (2)
ユーザー @abcde
提出日時 2019-02-17 17:34:53
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 6 ms / 2,000 ms
コード長 664 bytes
コンパイル時間 1,779 ms
コンパイル使用メモリ 166,936 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-01 11:43:53
合計ジャッジ時間 2,456 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 4
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

int main() {
    
    // 1. 入力情報取得.
    string N;
    cin >> N;
    // ex.
    // 355777 -> 3: 1回, 5: 2回, 7: 3回 出現したと見る.
    // -> 777553 を構成出来れば, 解答になるはず.
    map<char, int> m;
    for(int i = 0; i < N.size(); i++) m[N[i]]++;
    
    // 2. 最も大きな整数を構成.
    string ans = "";
    map<char, int>::reverse_iterator ri;
    for(ri = m.rbegin(); ri != m.rend(); ++ri){
        char c = ri->first;
        int l  = ri->second;
        string s(l, c);
        ans += s;
    }
    
    // 3. 出力.
    cout << ans << endl;
    return 0;
    
}
0