summary refs log tree commit diff homepage
path: root/2017/src/bin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--2017/src/bin/day04.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/2017/src/bin/day04.rs b/2017/src/bin/day04.rs
new file mode 100644
index 0000000..2d6ca52
--- /dev/null
+++ b/2017/src/bin/day04.rs
@@ -0,0 +1,27 @@
+use std::collections::HashSet;
+use std::io::{self, Read};
+
+fn solve1(input: &str) -> u32 {
+    let mut valid = 0;
+    for phrase in input.lines() {
+        let words = phrase.split_whitespace();
+        if words.clone().count() == words.collect::<HashSet<&str>>().len() {
+            valid += 1;
+        }
+    }
+    valid
+}
+
+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!(1, solve1("aa bb cc dd ee"));
+    assert_eq!(0, solve1("aa bb cc dd aa"));
+    assert_eq!(1, solve1("aa bb cc dd aaa"));
+}
9990a16ff2ae&follow=1'>Add box drawing glyphs to sans6x10June McEnroe 2018-09-29Tweak sans6x8 shading blocksJune McEnroe 2018-09-29Fill 7F through A5 of sans6x10June McEnroe 2018-09-29Add f and ' to psfedJune McEnroe 2018-09-28Add sans6x10 basic glyphsJune McEnroe 2018-09-28Make sans6x8 double quote narrowerJune McEnroe 2018-09-28Add greek glyphs to sans6x8June McEnroe 2018-09-28Add png target in etc/psfJune McEnroe 2018-09-28Disable visual bell in light terminal profileJune McEnroe 2018-09-28Add psf2pngJune McEnroe 2018-09-27Add HJKL for moving glyphs to psfedJune McEnroe 2018-09-27Move psfed paste to edit modeJune McEnroe 2018-09-27Export PWDJune McEnroe Without it, $(PWD) is unset in GNU make. 2018-09-27Add sans6x8 PSF2 fontJune McEnroe 2018-09-26Add copy paste to psfedJune McEnroe 2018-09-25Add r to psfed for invertJune McEnroe 2018-09-24Add psfed, a PSF2 font editorJune McEnroe 2018-09-21Add scheme -i to swap white and blackJune McEnroe 2018-09-21Map caps lock to escape on Linux consoleJune McEnroe 2018-09-19Fix README mandoc lintsJune McEnroe 2018-09-19Un-NOT trans.alpha values in pngoJune McEnroe 2018-09-18Refactor reads in pngo and clear palette between filesJune McEnroe 2018-09-17Add tRNS support to pngoJune McEnroe 2018-09-11Move gfx man pages to gfx/manJune McEnroe 2018-09-11Move bin man pages to bin/manJune McEnroe 2018-09-11Rewrite gfx.7 and render plaintext READMEJune McEnroe 2018-09-11Remove GAMES from BINSJune McEnroe 2018-09-11Rewrite bin.7 and render to plaintext READMEJune McEnroe 2018-09-11Add "blank" lines to man pagesJune McEnroe 2018-09-10Add mdoc syntax fileJune McEnroe 2018-09-08Fix Nm usage in multi-name man pagesJune McEnroe 2018-09-08Put real dates on man pagesJune McEnroe 2018-09-08Replace gfx README with REAMDE.7June McEnroe 2018-09-08Link gfx man pages in ~/.localJune McEnroe