day1 first

This commit is contained in:
Aaro Koivukangas
2025-12-01 14:30:46 +02:00
parent e1aa065f7f
commit 6e13339100
3 changed files with 79 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "day1"
version = "0.1.0"
+6
View File
@@ -0,0 +1,6 @@
[package]
name = "day1"
version = "0.1.0"
edition = "2024"
[dependencies]
+66
View File
@@ -0,0 +1,66 @@
use std::fs;
const FILE_PATH: &str = "./src/input.txt";
fn main() {
first();
second();
}
fn first() {
println!("Hello, world!");
let raw_contents = fs::read_to_string(FILE_PATH)
.expect("Couldn't open the input.txt file");
let contents = raw_contents.trim();
let mut result = 0;
let mut starting_value: i32 = 50;
for line in contents.lines() {
let direction: char = line.chars().nth(0).unwrap();
let value: i32 = line.chars().skip(1).collect::<String>().parse().unwrap();
starting_value += if direction == 'R' { value } else if direction == 'L' { -value } else { 0 };
while starting_value > 99 {
starting_value -= 100
}
while starting_value < 0 {
starting_value += 100
}
if starting_value == 0 {
result += 1;
}
println!("Line: {line} ({starting_value}, {result})");
}
println!("Result: {result}");
}
fn second() {
println!("Hello, world!");
let raw_contents = fs::read_to_string(FILE_PATH)
.expect("Couldn't open the input.txt file");
let contents = raw_contents.trim();
let mut result = 0;
let mut starting_value: i32 = 50;
for line in contents.lines() {
let direction: char = line.chars().nth(0).unwrap();
let value: i32 = line.chars().skip(1).collect::<String>().parse().unwrap();
starting_value += if direction == 'R' { value } else if direction == 'L' { -value } else { 0 };
while starting_value > 99 {
starting_value -= 100
}
while starting_value < 0 {
starting_value += 100
}
if starting_value == 0 {
result += 1;
}
println!("Line: {line} ({starting_value}, {result})");
}
println!("Result: {result}");
}