From ee407104c9723b365ce65702a5f29e957216a65a Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sat, 2 Dec 2017 00:15:54 -0500 Subject: Day 2 --- 2017/input/day02.txt | 16 ++++++++++++++++ 2017/src/bin/day02.rs | 24 ++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 2017/input/day02.txt create mode 100644 2017/src/bin/day02.rs (limited to '2017') diff --git a/2017/input/day02.txt b/2017/input/day02.txt new file mode 100644 index 0000000..be4953f --- /dev/null +++ b/2017/input/day02.txt @@ -0,0 +1,16 @@ +798 1976 1866 1862 559 1797 1129 747 85 1108 104 2000 248 131 87 95 +201 419 336 65 208 57 74 433 68 360 390 412 355 209 330 135 +967 84 492 1425 1502 1324 1268 1113 1259 81 310 1360 773 69 68 290 +169 264 107 298 38 149 56 126 276 45 305 403 89 179 394 172 +3069 387 2914 2748 1294 1143 3099 152 2867 3082 113 145 2827 2545 134 469 +3885 1098 2638 5806 4655 4787 186 4024 2286 5585 5590 215 5336 2738 218 266 +661 789 393 159 172 355 820 891 196 831 345 784 65 971 396 234 +4095 191 4333 161 3184 193 4830 4153 2070 3759 1207 3222 185 176 2914 4152 +131 298 279 304 118 135 300 74 269 96 366 341 139 159 17 149 +1155 5131 373 136 103 5168 3424 5126 122 5046 4315 126 236 4668 4595 4959 +664 635 588 673 354 656 70 86 211 139 95 40 84 413 618 31 +2163 127 957 2500 2370 2344 2224 1432 125 1984 2392 379 2292 98 456 154 +271 4026 2960 6444 2896 228 819 676 6612 6987 265 2231 2565 6603 207 6236 +91 683 1736 1998 1960 1727 84 1992 1072 1588 1768 74 58 1956 1627 893 +3591 1843 3448 1775 3564 2632 1002 3065 77 3579 78 99 1668 98 2963 3553 +2155 225 2856 3061 105 204 1269 171 2505 2852 977 1377 181 1856 2952 2262 \ No newline at end of file diff --git a/2017/src/bin/day02.rs b/2017/src/bin/day02.rs new file mode 100644 index 0000000..07551a2 --- /dev/null +++ b/2017/src/bin/day02.rs @@ -0,0 +1,24 @@ +use std::io::{self, Read}; + +fn solve1(input: &str) -> u32 { + let mut sum = 0; + for row in input.lines() { + let values = row.split_whitespace() + .map(str::parse::) + .map(Result::unwrap); + sum += values.clone().max().unwrap() - values.min().unwrap(); + } + sum +} + +fn main() { + let mut input = String::new(); + io::stdin().read_to_string(&mut input).unwrap(); + + println!("Part 1: {}", solve1(&input)); +} + +#[test] +fn part1() { + assert_eq!(18, solve1("5 1 9 5\n7 5 3\n2 4 6 8\n")); +} -- cgit 1.4.1 g=1'>unfollow)
Commit message (Collapse)Author
2021-09-25Install up to cgi-binJune McEnroe
2021-09-25Clean up up (ugh) somewhat againJune McEnroe
2021-09-25Update root path in up.shJune McEnroe
2021-09-25Disable HashKnownHostsJune McEnroe
All this really does is make fixing problems more difficult.
2021-09-25Add scout to ssh configJune McEnroe
2021-09-25Sandbox up on both FreeBSD and OpenBSDJune McEnroe
This is a bit messy. pledge(2) calls based on [1]. [1]: https://kristaps.bsd.lv/kcgi/tutorial6.html
2021-09-25Set SO_REUSEADDR in quickJune McEnroe
2021-09-25Revert "Add cat alias using less"June McEnroe
This reverts commit a64c3653d5df5e823fcdd07a540e240283816683. Yeah this really doesn't work on OpenBSD. I kind of got into the habit of explicitly running less anyway.
2021-09-24Pledge downgradeJune McEnroe
2021-09-24Set original socket CLOEXECJune McEnroe
2021-09-24Consume request headers using MSG_PEEKJune McEnroe
Use MSG_PEEK to determine where the request headers end and consume only up to there, leaving the CGI process to read any request body directly from the socket.
2021-09-24Set only HTTP_HOSTJune McEnroe
And only because kcgi expects it. This is what I wrote originally, because every HTTP_ variable should be unset between each request, but this doesn't track them.
2021-09-23Scroll by single lines in xtermJune McEnroe
2021-09-23Hide htop "function bar"June McEnroe
Useless thing...
2021-09-23Allow FocusEvents in xtermJune McEnroe
Oops! This whole time I thought OpenBSD xterm for some reason didn't support focus events. It turns out allowMouseOps: false disables them by default. Replace the disallowedMouseOps list with everything but.
2021-09-23Use NI_NUMERICSERVJune McEnroe
2021-09-23Make up build away from FreeBSDJune McEnroe
2021-09-23Add quickJune McEnroe
2021-09-23Add The HobbitJune McEnroe
Surprisingly good for something written by a man like a hundred years ago!
2021-09-22Remove PSF fontsJune McEnroe
They were fun to make but I never actually used them.
2021-09-22Remove Linux-specific utilitiesJune McEnroe
I haven't used these in ages.
2021-09-22Call sandbox in CGI modeJune McEnroe
Otherwise upload won't actually work.
2021-09-22Support HTTP PUT in upJune McEnroe
For use by Palaver[1]. Unfortunately, at least in the current App Store version of Palaver, this doesn't work correctly with basic auth. [1]: https://palaverapp.com/guides/commands/set.html#ui-image_service
2021-09-22Remove default faviconJune McEnroe
I hate these things and also this one sucks.
2021-09-21Use Z_FILTERED strategyJune McEnroe
2021-09-21Recalculate various lengths only as neededJune McEnroe
This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate.
2021-09-21Rewrite pngo, add explicit optionsJune McEnroe
Interesting to see how my code habits have changed.
2021-09-16Fix /* **/ comment matchingJune McEnroe
2021-09-15Remove typer, add downgrade to READMEJune McEnroe
2021-09-15Set bot mode on downgradeJune McEnroe
2021-09-15Enter capsicum in downgradeJune McEnroe
2021-09-15Factor out common parts of downgrade messagesJune McEnroe
Also bump the message cap to 1024 because that is ostensibly useful for replying to older messages.
2021-09-14Add downgrade IRC botJune McEnroe
2021-09-14Sort by title if authors matchJune McEnroe
There are probably better things to sort by but title definitely always exists.
2021-09-13Swap-remove tags as they're foundJune McEnroe
This makes it even faster. From ~1s on a sqlite3.c amalgamation to ~0.85s.
2021-09-12Replace htagml regex with strncmpJune McEnroe
Since ctags only ever produces regular expressions of the form /^re$/ or /^re/ with no other special characters, instead unescape the pattern and simply use strncmp. Running on a sqlite3.c amalgamation, the regex version takes ~37s while the strncmp version takes ~1s, producing identical output. Big win!
2021-09-11Also defer printing comment for lone close-parensJune McEnroe
2021-09-10Publish "git-comment"June McEnroe
2021-09-10Add git comment --pretty optionJune McEnroe
2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe
This fixes badly indented comments.
2021-09-08Up default min-repeat to 30 linesJune McEnroe
2021-09-08Handle dirty lines in git-commentJune McEnroe
2021-09-08Document and install git-commentJune McEnroe
2021-09-08Add repeat and all options to git-commentJune McEnroe
2021-09-08Add group threshold to git-commentJune McEnroe