password-analyzer/stat_length.cpp
2023-11-03 21:07:55 +08:00

17 lines
597 B
C++

#include <algorithm>
#include <map>
#include <vector>
#include "defs.hpp"
void stat_length(const DataSource &source) {
spdlog::info("stat_length({})", magic_enum::enum_name(source));
std::map<size_t, size_t> stat;
for (auto const &password : passwords(source)) ++stat[password.size()];
std::vector<std::pair<size_t, size_t>> vec(stat.begin(), stat.end());
std::sort(vec.begin(), vec.end(), [](auto const &lhs, auto const &rhs) { return lhs.second > rhs.second; });
for (auto const &[length, count] : vec | std::views::take(10)) spdlog::info("{}: {}", length, count);
}