結果

問題 No.256 桁の数字を入れ替え (2)
ユーザー @abcde@abcde
提出日時 2019-02-17 17:34:53
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 6 ms / 2,000 ms
コード長 664 bytes
コンパイル時間 1,698 ms
コンパイル使用メモリ 167,548 KB
実行使用メモリ 6,676 KB
最終ジャッジ日時 2024-04-08 20:48:30
合計ジャッジ時間 1,904 ms
ジャッジサーバーID
(参考情報)
judge13 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
6,676 KB
testcase_01 AC 1 ms
6,676 KB
testcase_02 AC 6 ms
6,676 KB
testcase_03 AC 6 ms
6,676 KB
権限があれば一括ダウンロードができます

ソースコード

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