Solved: 49 - Ranges Zip

This commit is contained in:
2026-08-24 19:20:50 +03:00
parent dea138ca04
commit e907849c57
+12 -8
View File
@@ -3,19 +3,23 @@
namespace cpp23 { namespace cpp23 {
auto zip_sum(const std::vector<int>& a, const std::vector<int>& b) -> std::vector<int> { auto zip_sum(const std::vector<int>& a, const std::vector<int>& b) -> std::vector<int> {
(void)a; (void)b; return std::views::zip_transform(std::plus{}, a, b)
return {}; | std::ranges::to<std::vector>();
} }
auto chunk_strings(const std::vector<std::string>& words, std::size_t chunk_size) auto chunk_strings(const std::vector<std::string>& words, const std::size_t chunk_size) -> std::vector<std::vector<std::string>> {
-> std::vector<std::vector<std::string>> { return words
(void)words; (void)chunk_size; | std::views::chunk(chunk_size)
return {}; | std::views::transform([](const auto& chunk) {
return chunk | std::ranges::to<std::vector<std::string>>();
})
| std::ranges::to<std::vector<std::vector<std::string>>>();
} }
auto adjacent_differences(const std::vector<int>& data) -> std::vector<int> { auto adjacent_differences(const std::vector<int>& data) -> std::vector<int> {
(void)data; return data
return {}; | std::views::adjacent_transform<2>([](const int x, const int y) { return y - x; })
| std::ranges::to<std::vector<int>>();
} }
} // namespace cpp23 } // namespace cpp23