diff options
| author | mhsn <mail@mhsn.net> | 2026-03-18 21:48:13 +0000 |
|---|---|---|
| committer | mhsn <mail@mhsn.net> | 2026-03-18 21:48:13 +0000 |
| commit | 86bac31392a76da84817eec020d2b84d099b3cc1 (patch) | |
| tree | e2ee52db59b86b914d5b4bcceb19c9b5d899fff4 /2024/01 | |
| parent | 62fe361fc42dea75deaf7ac31c0ba6ba80e26a9c (diff) | |
| download | puzzles-master.tar.gz puzzles-master.zip | |
Diffstat (limited to '2024/01')
| -rwxr-xr-x | 2024/01/python.py | 14 | ||||
| -rwxr-xr-x | 2024/01/raku.raku | 5 | ||||
| -rw-r--r-- | 2024/01/rust/Cargo.lock | 7 | ||||
| -rw-r--r-- | 2024/01/rust/Cargo.toml | 6 | ||||
| -rw-r--r-- | 2024/01/rust/src/main.rs | 31 |
5 files changed, 0 insertions, 63 deletions
diff --git a/2024/01/python.py b/2024/01/python.py deleted file mode 100755 index 425f6c7..0000000 --- a/2024/01/python.py +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python3 - -from collections import Counter -from fileinput import input - -L, R = zip(*[[int(n) for n in s.split()] for s in input()]) - -silver = sum(abs(left - right) for left, right in zip(sorted(L), sorted(R))) - -L, R = Counter(L), Counter(R) -gold = sum(n * L[n] * R[n] for n in list(L & R)) - -print("silver:", silver) -print("gold:", gold) diff --git a/2024/01/raku.raku b/2024/01/raku.raku deleted file mode 100755 index c4a44e0..0000000 --- a/2024/01/raku.raku +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env raku - -my $ids := ([Z] lines>>.words)>>.sort>>.list; -say "silver: ", ([Z-] $ids)>>.abs.sum; -say "gold: ", ([<<*>>] $ids>>.Bag).kxxv.sum; diff --git a/2024/01/rust/Cargo.lock b/2024/01/rust/Cargo.lock deleted file mode 100644 index 7010c56..0000000 --- a/2024/01/rust/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "aoc_2024-01" -version = "0.1.0" diff --git a/2024/01/rust/Cargo.toml b/2024/01/rust/Cargo.toml deleted file mode 100644 index 0e9bfaa..0000000 --- a/2024/01/rust/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "aoc_2024-01" -version = "0.1.0" -edition = "2021" - -[dependencies] diff --git a/2024/01/rust/src/main.rs b/2024/01/rust/src/main.rs deleted file mode 100644 index c1648cf..0000000 --- a/2024/01/rust/src/main.rs +++ /dev/null @@ -1,31 +0,0 @@ -use std::collections::HashMap; -use std::io; - -fn main() -> io::Result<()> { - let (mut ls, mut rs): (Vec<u64>, Vec<u64>) = io::stdin() - .lines() - .map(|line| { - line.unwrap() - .split_whitespace() - .map(|s| s.parse().unwrap()) - .collect::<Vec<u64>>() - }) - .map(|xs| (xs[0], xs[1])) - .unzip(); - - ls.sort_unstable(); - rs.sort_unstable(); - - let mut counts = HashMap::new(); - rs.iter().for_each(|&x| { - *counts.entry(x).or_insert(0) += 1; - }); - - let silver: u64 = ls.iter().zip(rs).map(|(x, y)| x.abs_diff(y)).sum(); - let gold: u64 = ls.iter().map(|x| x * counts.get(x).unwrap_or(&0)).sum(); - - println!("silver: {silver}"); - println!("gold: {gold}"); - - return Ok(()); -} |
