Day 1 Part 1

This commit is contained in:
Logan G 2024-11-30 23:13:10 -07:00
parent 6dd27821c6
commit cf5e0af3af
Signed by: logan
GPG key ID: E328528C921E7A7A
2 changed files with 57 additions and 0 deletions

1
day1/answer1 Normal file
View file

@ -0,0 +1 @@
1110981

56
day1/p1.rs Normal file
View file

@ -0,0 +1,56 @@
use std::env;
use std::fs;
use std::process;
use std::{thread, time};
fn main() {
//println!("Hello world!");
let args: Vec<String> = env::args().collect();
let mut path = String::from("");
if args.len() > 1 {
path = args[1].clone();
} else {
println!("Specify an input file!");
process::exit(1);
}
if ! fs::metadata(path.clone()).is_ok() {
println!("Path does not exist!");
process::exit(1);
}
//let rawInput = fs::read_to_string(path.clone()).unwrap();
//let splitInput: Vec<&str> = rawInput.lines().collect();
let mut left: Vec<i32> = vec![];
let mut right: Vec<i32> = vec![];
for line in fs::read_to_string(path.clone()).unwrap().lines() {
//let line = splitInput[i];
let split: Vec<&str> = line.split(" ").collect();
//println!("{}",split[0]);
left.push(split[0].parse().unwrap());
right.push(split[1].parse().unwrap());
}
left.sort();
//left.dedup();
right.sort();
//right.dedup();
let mut accum: i32 = 0;
for i in 0..right.len() {
println!("{}, {}", left[i], right[i]);
println!("Distance is {}", (right[i] - left[i]).abs());
accum += (right[i] - left[i]).abs();
//thread::sleep(time::Duration::from_millis(1000));
}
println!("{}", accum);
}