From cf6303a5bc1558ebdb7b467da38f74cd3ac3a9b1 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Mon, 5 Dec 2022 19:46:06 +0100 Subject: Add 2022 --- day3/src/main.rs | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 day3/src/main.rs (limited to 'day3/src') diff --git a/day3/src/main.rs b/day3/src/main.rs deleted file mode 100644 index 10c1f81..0000000 --- a/day3/src/main.rs +++ /dev/null @@ -1,36 +0,0 @@ -use std::fs::File; -use std::io::prelude::*; -use std::io::BufReader; - -fn main() -> Result<(), std::io::Error> { - let file = File::open("input.txt")?; - let reader = BufReader::new(&file); - - let lines: Vec<_> = reader.lines().map(|x| x.unwrap()).collect::>(); - let mut bits: Vec = vec![0; lines[0].len()]; - let half: u32 = (lines.len() / 2) as u32; - let mut gamma_string = String::new(); - let mut epsilon_string = String::new(); - - for line in lines { - for (index, character) in line.chars().enumerate() { - bits[index] += character.to_digit(10).unwrap(); - } - } - - for bit in bits { - if bit >= half { - gamma_string.push('1'); - epsilon_string.push('0'); - } else { - gamma_string.push('0'); - epsilon_string.push('1'); - } - } - let gamma_rate = isize::from_str_radix(&gamma_string, 2).unwrap(); - let epsilon_rate = isize::from_str_radix(&epsilon_string, 2).unwrap(); - - println!("{}", gamma_rate * epsilon_rate); - - Ok(()) -} -- cgit v1.2.3-18-g5258