Skip to content

Commit 2384ed5

Browse files
committed
Some updates to make it more readable
1 parent 20dedf6 commit 2384ed5

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

C++/2015/aoc_2015_01.cpp

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,17 @@
44
#include <string>
55

66
auto parse_input(const std::string &instructions) {
7-
// clang-format off
8-
auto rng = instructions
9-
| std::views::transform([i = 0](auto &c) mutable {
10-
i += c == ')' ? -1 : 1;
11-
return i;
12-
})
13-
| std::views::common;
14-
// clang-format on
7+
int i = 0;
8+
auto rng = instructions //
9+
| std::views::transform([&](auto &c) mutable {
10+
if (c == '(') {
11+
i += 1;
12+
} else {
13+
i -= 1;
14+
}
15+
return i;
16+
}) //
17+
| std::views::common;
1518
return std::vector<int>(rng.begin(), rng.end());
1619
}
1720

@@ -20,19 +23,17 @@ auto solve_part_1(const std::vector<int> &instructions) -> int {
2023
}
2124

2225
auto solve_part_2(const std::vector<int> &instructions) -> int {
23-
// clang-format off
2426
#ifdef __cpp_lib_ranges_enumerate
25-
auto rng = instructions | std::views::enumerate
27+
auto enumerated_rng = instructions | std::views::enumerate;
2628
#else
27-
auto rng = std::views::zip(std::views::iota(0), instructions)
29+
auto enumerated_rng = std::views::zip(std::views::iota(0), instructions);
2830
#endif
29-
| std::views::filter([](const auto &kv) {
30-
auto &[k, v] = kv;
31-
return v < 0;
32-
})
33-
| std::views::take(1)
34-
| std::views::keys;
35-
// clang-format on
31+
auto rng = enumerated_rng //
32+
| std::views::filter([](const auto &kv) {
33+
auto &[k, v] = kv;
34+
return v < 0;
35+
}) //
36+
| std::views::take(1) | std::views::keys;
3637
auto index = rng.front();
3738
return int(index + 1);
3839
}

C++/2015/aoc_2015_03.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
template <>
1111
struct std::hash<std::pair<int, int>> {
12-
inline auto operator()(const pair<int, int> &v) const -> size_t {
12+
auto operator()(const pair<int, int> &v) const -> size_t {
1313
return std::size_t(v.first) << 32 | v.second;
1414
}
1515
};

0 commit comments

Comments
 (0)