From da5fe526ac4a7de3ab43a8045152b61e35c91c32 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Fri, 1 Dec 2017 00:55:04 -0500 Subject: Day 1, part 2 --- 2017/src/bin/day01.rs | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/2017/src/bin/day01.rs b/2017/src/bin/day01.rs index ee81d15..70ca5a6 100644 --- a/2017/src/bin/day01.rs +++ b/2017/src/bin/day01.rs @@ -1,10 +1,10 @@ use std::io::{self, Read}; -fn solve(input: &str) -> u32 { +fn solve(input: &str, skip: usize) -> u32 { let mut sum = 0; let chars = input.chars(); - let nexts = input.chars().cycle().skip(1); + let nexts = input.chars().cycle().skip(skip); for (a, b) in chars.zip(nexts) { if a == b { @@ -15,17 +15,31 @@ fn solve(input: &str) -> u32 { sum } +fn solve2(input: &str) -> u32 { + solve(input, input.len() / 2) +} + fn main() { let mut input = String::new(); io::stdin().read_to_string(&mut input).unwrap(); - println!("Part 1: {}", solve(input.trim())); + println!("Part 1: {}", solve(input.trim(), 1)); + println!("Part 2: {}", solve2(input.trim())); } #[test] fn part1() { - assert_eq!(3, solve("1122")); - assert_eq!(4, solve("1111")); - assert_eq!(0, solve("1234")); - assert_eq!(9, solve("91212129")); + assert_eq!(3, solve("1122", 1)); + assert_eq!(4, solve("1111", 1)); + assert_eq!(0, solve("1234", 1)); + assert_eq!(9, solve("91212129", 1)); +} + +#[test] +fn part2() { + assert_eq!(6, solve2("1212")); + assert_eq!(0, solve2("1221")); + assert_eq!(4, solve2("123425")); + assert_eq!(12, solve2("123123")); + assert_eq!(4, solve2("12131415")); } -- cgit 1.4.1 committer
path: root/bin/downgrade.c (unfollow)
Commit message (Expand)Author
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
2021-09-22Remove PSF fontsJune McEnroe
2021-09-22Remove Linux-specific utilitiesJune McEnroe
2021-09-22Call sandbox in CGI modeJune McEnroe
2021-09-22Support HTTP PUT in upJune McEnroe
2021-09-22Remove default faviconJune McEnroe
2021-09-21Use Z_FILTERED strategyJune McEnroe
2021-09-21Recalculate various lengths only as neededJune McEnroe
2021-09-21Rewrite pngo, add explicit optionsJune McEnroe
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
2021-09-14Add downgrade IRC botJune McEnroe
2021-09-14Sort by title if authors matchJune McEnroe
2021-09-13Swap-remove tags as they're foundJune McEnroe
2021-09-12Replace htagml regex with strncmpJune McEnroe
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
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