cleaning up day5 with clippy

This commit is contained in:
Dylan Thies
2023-08-26 06:55:00 -04:00
parent 2b2247b0b4
commit e970fd9873
6 changed files with 198 additions and 10 deletions

1
.gitignore vendored
View File

@@ -45,3 +45,4 @@ Sessionx.vim
tags
# Persistent undo
[._]*.un~
.vscode/settings.json

169
Cargo.lock generated Normal file
View File

@@ -0,0 +1,169 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "day1"
version = "0.1.0"
[[package]]
name = "day10"
version = "0.1.0"
[[package]]
name = "day11"
version = "0.1.0"
dependencies = [
"derive-getters",
"itertools 0.11.0",
"log",
"nom",
]
[[package]]
name = "day12"
version = "0.1.0"
dependencies = [
"itertools 0.11.0",
"log",
]
[[package]]
name = "day13"
version = "2022.0.0"
dependencies = [
"nom",
]
[[package]]
name = "day2"
version = "0.1.0"
[[package]]
name = "day3"
version = "0.1.0"
[[package]]
name = "day4"
version = "0.1.0"
[[package]]
name = "day5"
version = "0.1.0"
[[package]]
name = "day6"
version = "0.1.0"
[[package]]
name = "day7"
version = "0.1.0"
[[package]]
name = "day8"
version = "0.1.0"
dependencies = [
"itertools 0.10.5",
]
[[package]]
name = "day9"
version = "0.1.0"
[[package]]
name = "derive-getters"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a2c35ab6e03642397cdda1dd58abbc05d418aef8e36297f336d5aba060fe8df"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "either"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
[[package]]
name = "itertools"
version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [
"either",
]
[[package]]
name = "itertools"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57"
dependencies = [
"either",
]
[[package]]
name = "log"
version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "minimal-lexical"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "nom"
version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
]
[[package]]
name = "proc-macro2"
version = "1.0.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
[[package]]
name = "syn"
version = "1.0.109"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"

View File

@@ -12,6 +12,7 @@ members = [
"day10",
"day11",
"day12",
"day13",
]

View File

@@ -19,14 +19,17 @@ fn main() -> std::io::Result<()> {
});
//order the elves since we don't care about position anymore
elves.sort();
let max = elves.len() - 1;
elves.sort_by(|a, b| b.cmp(a));
let max = *elves.get(0).expect("faliure");
let counts = elves.iter().take(3).sum::<u64>();
//elves.sort();
//let max = elves.len() - 1;
//part 1 is get the max
println!("Part 1: {}", elves[max]);
println!("Part 1: {max}");
//Part 2 is get the sum of the largest 3
let counts: u64 = elves[(max - 2)..].iter().sum();
//let counts: u64 = elves[(max - 2)..].iter().sum();
println!("Part 2: {counts}");
Ok(())

11
day13/Cargo.toml Normal file
View File

@@ -0,0 +1,11 @@
[package]
name = "day13"
version.workspace = true
edition.workspace = true
authors.workspace = true
repository.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
nom.workspace = true

View File

@@ -6,15 +6,15 @@ struct Crate {
label: String,
}
#[derive(Clone, Debug)]
#[derive(Debug)]
struct GameBoard {
labels: Vec<String>,
_labels: Vec<String>,
board: Vec<Vec<Crate>>,
}
impl GameBoard {
fn game1_move(&mut self, count: usize, from: usize, to: usize) {
let ref mut v: Vec<Crate> = Vec::new();
fn _game1_move(&mut self, count: usize, from: usize, to: usize) {
let v = &mut Vec::new();
let work = self.board.get_mut(from - 1).unwrap();
for _ in 0..count {
v.push(work.pop().unwrap());
@@ -25,7 +25,7 @@ impl GameBoard {
}
}
fn game2_move(&mut self, count: usize, from: usize, to: usize) {
let ref mut v: Vec<Crate> = Vec::new();
let v = &mut Vec::new();
let work = self.board.get_mut(from - 1).unwrap();
for _ in 0..count {
v.push(work.pop().unwrap());
@@ -67,7 +67,10 @@ impl From<Vec<String>> for GameBoard {
}
})
});
GameBoard { labels, board }
GameBoard {
_labels: labels,
board,
}
}
}