Compare commits

..

No commits in common. "3c4e0e431713f3e10cf2bc57f8100c782fa71c1d" and "99554bc83b76852836e9acf6d51fd2e3fbcb258a" have entirely different histories.

6 changed files with 19 additions and 71 deletions

1
.envrc
View file

@ -1 +0,0 @@
use flake

1
.gitignore vendored
View file

@ -3,4 +3,3 @@
.idea/
.direnv/
**/target
inputs

10
2025/inputs/01.txt Normal file
View file

@ -0,0 +1,10 @@
L68
L30
R48
L5
R60
L55
L1
L99
R14
L82

View file

@ -4,14 +4,15 @@ const STARTING_POSITION: i32 = 50;
const DIAL_RANGE: i32 = 100;
fn main() {
let rotations = parse_rotations(&fs::read_to_string("../../inputs/01.txt").unwrap());
let rotations = read_rotations();
println!("Password1: {}", count_zero_positions(&rotations));
println!("Password2: {}", count_zero_clicks(&rotations));
}
fn parse_rotations(contents: &str) -> Vec<i32> {
contents
fn read_rotations() -> Vec<i32> {
fs::read_to_string("../../inputs/01.txt")
.unwrap()
.lines()
.map(|line| {
let distance = line[1..].parse::<i32>().unwrap();
@ -59,29 +60,3 @@ fn count_zero_clicks(rotations: &[i32]) -> i32 {
counter
}
#[cfg(test)]
mod tests {
use super::*;
const TEST_INPUT: &str = "L68
L30
R48
L5
R60
L55
L1
L99
R14
L82";
#[test]
fn test_part1() {
assert_eq!(count_zero_positions(&parse_rotations(TEST_INPUT)), 3);
}
#[test]
fn test_part2() {
assert_eq!(count_zero_clicks(&parse_rotations(TEST_INPUT)), 6);
}
}

18
flake.lock generated
View file

@ -1,22 +1,5 @@
{
"nodes": {
"inputs": {
"flake": false,
"locked": {
"lastModified": 1764611941,
"narHash": "sha256-GEVJK9tSeNnGgYYRbjtYE/su75nxRvOm8h0Sf5GD70A=",
"ref": "refs/heads/main",
"rev": "5390449be22f56739e0840e35e46d54b1166886c",
"shallow": true,
"type": "git",
"url": "ssh://git@github.com/SebastianStork/advent-of-code-inputs.git"
},
"original": {
"shallow": true,
"type": "git",
"url": "ssh://git@github.com/SebastianStork/advent-of-code-inputs.git"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1764522689,
@ -35,7 +18,6 @@
},
"root": {
"inputs": {
"inputs": "inputs",
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay"
}

View file

@ -6,42 +6,25 @@
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
inputs = {
url = "git+ssh://git@github.com/SebastianStork/advent-of-code-inputs.git?shallow=1";
flake = false;
};
};
outputs =
{
nixpkgs,
rust-overlay,
inputs,
...
}:
{ nixpkgs, rust-overlay, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells.${system} = {
default = pkgs.mkShellNoCC {
packages = [ pkgs.stow ];
shellHook = ''
stow --dir=${inputs} --target=./. package
'';
};
cpp = pkgs.mkShell.override { stdenv = pkgs.clangStdenv; } {
packages = [
pkgs.gdb
pkgs.clang-tools
packages = with pkgs; [
gdb
clang-tools
];
};
go = pkgs.mkShellNoCC {
packages = [ pkgs.go ];
packages = with pkgs; [ go ];
};
rust =