summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--2017/input/day02.txt16
-rw-r--r--2017/src/bin/day02.rs24
2 files changed, 40 insertions, 0 deletions
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::<u32>)
+            .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"));
+}
>Use hi -o anchor in upJune McEnroe 2019-02-18Don't match nested parentheses in Tag for CJune McEnroe Fixes mistaken highlight of: pngWrite(file, (uint8_t []) { 0, 0, 0 }, 3); 2019-02-18Match whitespace between * [] {}June McEnroe 2019-02-18Fix function-like #define regexJune McEnroe A define like #define FOO (1) is not function-like. 2019-02-18Match Tag in RustJune McEnroe 2019-02-18Match sh functions as TagJune McEnroe 2019-02-18Match Sh and Ss as Tag in mdocJune McEnroe 2019-02-18Match statics and typedefs as TagJune McEnroe 2019-02-18Clean up htmlHeaderJune McEnroe 2019-02-18Remove hi line numberingJune McEnroe Tags are much better for referring to specific parts of a file and line numbering is better done by a post-processing tool such as cat -n or producing a two-column HTML <table>. 2019-02-18Add Tag class to hiJune McEnroe 2019-02-17Generate HTML with hi -n -f html -o anchorJune McEnroe Running hi twice to insert stuff between the head and the content is a bit of a hack but oh well. 2019-02-17Add hi -f html -o anchor for line number linksJune McEnroe 2019-02-17Simplify temp trap in upJune McEnroe 2019-02-17Add line numbers to hiJune McEnroe Renames previous -n option to -m to stay consistent with cat -n. Prefixing lines with line numbers affects where the first tab indent ends up relative to the text above it. Not sure if it's worth fixing somehow. 2019-02-17Always split spans after newlinesJune McEnroe Simplifies ANSI and IRC output code, and prepares for line numbered output. 2019-02-15Color format specifiers light cyan in vimJune McEnroe 2019-02-15Highlight Interp as yellowJune McEnroe 2019-02-15Highlight strings in sh command substitutionsJune McEnroe 2019-02-15Add nmap gpJune McEnroe 2019-02-14Avoid newline when copying URL to pasteboardJune McEnroe 2019-02-13Add forgotten "sixth" book of H2G2June McEnroe