This commit is contained in:
Daniel Flanagan 2022-12-02 23:19:18 -06:00
parent 37f7aa6912
commit a5e78315cf
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4

View file

@ -1,13 +1,39 @@
mod common;
use std::collections::HashSet;
fn main() {
let input = common::day_input(2);
let input = common::day_input(3);
println!("Part 1: {}", part1(&input));
println!("Part 2: {}", part2(&input));
}
fn part1(input: &str) -> i32 {
0
let mut r = 0_i32;
for l in input.lines() {
println!("{}", l);
let mut s: HashSet<u8> = HashSet::new();
let bytes = l.as_bytes();
let mut n = 0;
let bar = bytes.len() / 2;
println!("{}", bar);
for b in bytes {
print!("{}.", b);
if s.contains(b) && n >= bar {
if *b >= 97 && *b <= 122 {
r += (*b as i32) - 96;
} else {
r += (*b as i32) - 65 + 27;
}
println!(" == {}", r);
break;
} else if n < bar {
s.insert(*b);
}
n += 1
}
}
return r;
}
fn part2(input: &str) -> i32 {
@ -18,11 +44,16 @@ fn part2(input: &str) -> i32 {
mod tests {
use super::*;
const TEST_INPUT: &str = "";
const TEST_INPUT: &str = "vJrwpWtwJgWrhcsFMMfFFhFp
jqHRNqRjqzjGDLGLrsFMfFZSrLrFZsSL
PmmdzqPrVvPwwTWBwg
wMqvLMZHhHMvwLHjbvcjnnSBnvTQFn
ttgJtRGJQctTZtZT
CrZsJsPPZsGzwwsLwLmpwMDw";
#[test]
fn test_part1() {
assert_eq!(part1(TEST_INPUT), 0)
assert_eq!(part1(TEST_INPUT), 157)
}
#[test]