Created analyse function that gathers most of the data from the input of Day 5.
This commit is contained in:
parent
a17e4f9ee5
commit
b94278d500
6 changed files with 596 additions and 3 deletions
|
@ -22,16 +22,16 @@ fn first_part(str: &String) {
|
||||||
println!("Final Count: {}", count);
|
println!("Final Count: {}", count);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn second_part(str : &String) {
|
fn second_part(str: &String) {
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
let pairs: Vec<Vec<&str>> = str
|
let pairs: Vec<Vec<&str>> = str
|
||||||
.split("\r\n")
|
.split("\r\n")
|
||||||
.map(|ch| ch.split(",").collect())
|
.map(|ch| ch.split(",").collect())
|
||||||
.collect();
|
.collect();
|
||||||
for pair in &pairs {
|
for pair in &pairs {
|
||||||
if convert(pair, 0,1) >= convert(pair, 1,0) && convert(pair, 0,0) <= convert(pair, 1,1)
|
if convert(pair, 0, 1) >= convert(pair, 1, 0) && convert(pair, 0, 0) <= convert(pair, 1, 1)
|
||||||
{
|
{
|
||||||
count +=1
|
count += 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
println!("Part 2 Count : {}", count);
|
println!("Part 2 Count : {}", count);
|
||||||
|
|
7
rust/day5/Cargo.lock
generated
Normal file
7
rust/day5/Cargo.lock
generated
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
version = 3
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "aoc-day4"
|
||||||
|
version = "0.1.0"
|
11
rust/day5/Cargo.toml
Normal file
11
rust/day5/Cargo.toml
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[package]
|
||||||
|
name = "aoc-day4"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
authors = ["Yohan Boujon <yoboujon@gmail.com>"]
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
|
||||||
|
[workspace]
|
9
rust/day5/exemple
Normal file
9
rust/day5/exemple
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[D]
|
||||||
|
[N] [C]
|
||||||
|
[Z] [M] [P]
|
||||||
|
1 2 3
|
||||||
|
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 3 from 1 to 3
|
||||||
|
move 2 from 2 to 1
|
||||||
|
move 1 from 1 to 2
|
512
rust/day5/input
Normal file
512
rust/day5/input
Normal file
|
@ -0,0 +1,512 @@
|
||||||
|
[G] [P] [M]
|
||||||
|
[V] [M] [W] [S] [Q]
|
||||||
|
[N] [N] [G] [H] [T] [F]
|
||||||
|
[J] [W] [V] [Q] [W] [F] [P]
|
||||||
|
[C] [H] [T] [T] [G] [B] [Z] [B]
|
||||||
|
[S] [W] [S] [L] [F] [B] [P] [C] [H]
|
||||||
|
[G] [M] [Q] [S] [Z] [T] [J] [D] [S]
|
||||||
|
[B] [T] [M] [B] [J] [C] [T] [G] [N]
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 6 from 9 to 7
|
||||||
|
move 4 from 7 to 2
|
||||||
|
move 2 from 4 to 1
|
||||||
|
move 2 from 6 to 7
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 4 from 7 to 1
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 3 from 8 to 5
|
||||||
|
move 3 from 1 to 4
|
||||||
|
move 12 from 2 to 5
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 12 from 5 to 8
|
||||||
|
move 3 from 7 to 9
|
||||||
|
move 18 from 8 to 9
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 3 from 2 to 3
|
||||||
|
move 14 from 9 to 4
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 7 from 9 to 3
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 8 from 4 to 5
|
||||||
|
move 5 from 6 to 3
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 3 from 4 to 9
|
||||||
|
move 4 from 9 to 6
|
||||||
|
move 4 from 6 to 1
|
||||||
|
move 8 from 4 to 6
|
||||||
|
move 10 from 1 to 2
|
||||||
|
move 13 from 3 to 2
|
||||||
|
move 17 from 5 to 9
|
||||||
|
move 2 from 5 to 1
|
||||||
|
move 9 from 9 to 7
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 1 to 8
|
||||||
|
move 11 from 2 to 4
|
||||||
|
move 5 from 6 to 8
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 3 from 8 to 6
|
||||||
|
move 3 from 2 to 8
|
||||||
|
move 9 from 7 to 9
|
||||||
|
move 4 from 4 to 7
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 15 from 9 to 7
|
||||||
|
move 7 from 8 to 3
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 8 from 2 to 6
|
||||||
|
move 3 from 4 to 3
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 4 from 9 to 3
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 13 from 6 to 2
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 4 from 4 to 9
|
||||||
|
move 6 from 3 to 2
|
||||||
|
move 11 from 2 to 7
|
||||||
|
move 6 from 3 to 4
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 4 from 7 to 1
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 5 from 1 to 4
|
||||||
|
move 11 from 2 to 4
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 1 from 2 to 3
|
||||||
|
move 12 from 4 to 2
|
||||||
|
move 2 from 7 to 2
|
||||||
|
move 7 from 4 to 3
|
||||||
|
move 5 from 4 to 1
|
||||||
|
move 7 from 7 to 6
|
||||||
|
move 4 from 1 to 8
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 8 from 3 to 2
|
||||||
|
move 4 from 7 to 4
|
||||||
|
move 13 from 7 to 1
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 5 from 4 to 9
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 2 from 8 to 6
|
||||||
|
move 10 from 1 to 3
|
||||||
|
move 4 from 9 to 4
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 5 from 2 to 9
|
||||||
|
move 4 from 9 to 2
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 13 from 2 to 4
|
||||||
|
move 15 from 4 to 5
|
||||||
|
move 3 from 6 to 8
|
||||||
|
move 8 from 3 to 8
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 14 from 5 to 1
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 8 from 6 to 7
|
||||||
|
move 3 from 6 to 2
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 8 from 8 to 7
|
||||||
|
move 9 from 1 to 5
|
||||||
|
move 7 from 5 to 3
|
||||||
|
move 14 from 7 to 9
|
||||||
|
move 2 from 2 to 3
|
||||||
|
move 7 from 2 to 1
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 4 from 9 to 2
|
||||||
|
move 8 from 3 to 6
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 4 from 3 to 5
|
||||||
|
move 5 from 5 to 7
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 6 from 6 to 2
|
||||||
|
move 4 from 2 to 3
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 13 from 9 to 5
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 14 from 1 to 5
|
||||||
|
move 15 from 5 to 7
|
||||||
|
move 3 from 8 to 7
|
||||||
|
move 5 from 3 to 5
|
||||||
|
move 6 from 5 to 7
|
||||||
|
move 4 from 1 to 7
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 3 from 2 to 8
|
||||||
|
move 11 from 5 to 2
|
||||||
|
move 10 from 7 to 1
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 10 from 2 to 9
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 6 from 7 to 3
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 2 from 3 to 8
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 4 from 3 to 9
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 2 from 7 to 1
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 4 from 1 to 4
|
||||||
|
move 5 from 2 to 9
|
||||||
|
move 3 from 1 to 4
|
||||||
|
move 18 from 9 to 7
|
||||||
|
move 4 from 8 to 4
|
||||||
|
move 3 from 1 to 2
|
||||||
|
move 1 from 9 to 7
|
||||||
|
move 1 from 4 to 7
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 25 from 7 to 3
|
||||||
|
move 7 from 4 to 2
|
||||||
|
move 8 from 7 to 9
|
||||||
|
move 4 from 8 to 6
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 4 from 6 to 5
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 3 from 5 to 8
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 12 from 3 to 5
|
||||||
|
move 11 from 3 to 2
|
||||||
|
move 13 from 5 to 8
|
||||||
|
move 4 from 9 to 6
|
||||||
|
move 7 from 4 to 9
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 12 from 2 to 7
|
||||||
|
move 1 from 6 to 3
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 15 from 8 to 6
|
||||||
|
move 4 from 6 to 7
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 10 from 2 to 8
|
||||||
|
move 8 from 8 to 3
|
||||||
|
move 8 from 6 to 8
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 9 from 9 to 7
|
||||||
|
move 8 from 8 to 9
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 2 to 7
|
||||||
|
move 7 from 3 to 1
|
||||||
|
move 3 from 8 to 5
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 7 from 9 to 2
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 5 from 7 to 9
|
||||||
|
move 17 from 7 to 5
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 10 from 6 to 3
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 6 from 9 to 3
|
||||||
|
move 1 from 2 to 9
|
||||||
|
move 2 from 7 to 9
|
||||||
|
move 2 from 9 to 7
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 1 from 8 to 5
|
||||||
|
move 6 from 2 to 5
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 5 from 3 to 5
|
||||||
|
move 1 from 6 to 8
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 2 from 9 to 3
|
||||||
|
move 15 from 5 to 2
|
||||||
|
move 2 from 1 to 8
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 2 from 8 to 3
|
||||||
|
move 3 from 5 to 9
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 3 from 7 to 6
|
||||||
|
move 17 from 3 to 4
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 6 from 2 to 9
|
||||||
|
move 16 from 4 to 1
|
||||||
|
move 4 from 6 to 8
|
||||||
|
move 9 from 5 to 6
|
||||||
|
move 8 from 6 to 2
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 2 from 3 to 5
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 1 from 4 to 8
|
||||||
|
move 14 from 1 to 3
|
||||||
|
move 8 from 5 to 3
|
||||||
|
move 20 from 3 to 1
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 22 from 1 to 2
|
||||||
|
move 3 from 3 to 6
|
||||||
|
move 27 from 2 to 8
|
||||||
|
move 2 from 2 to 8
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 2 from 4 to 8
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 14 from 8 to 5
|
||||||
|
move 1 from 3 to 9
|
||||||
|
move 3 from 9 to 2
|
||||||
|
move 5 from 2 to 8
|
||||||
|
move 10 from 2 to 9
|
||||||
|
move 1 from 6 to 7
|
||||||
|
move 1 from 7 to 5
|
||||||
|
move 7 from 5 to 2
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 3 from 5 to 6
|
||||||
|
move 6 from 5 to 3
|
||||||
|
move 1 from 5 to 6
|
||||||
|
move 4 from 3 to 9
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 3 from 9 to 5
|
||||||
|
move 23 from 8 to 1
|
||||||
|
move 2 from 6 to 1
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 2 from 3 to 5
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 4 from 9 to 7
|
||||||
|
move 2 from 9 to 4
|
||||||
|
move 1 from 5 to 4
|
||||||
|
move 5 from 8 to 5
|
||||||
|
move 2 from 6 to 2
|
||||||
|
move 3 from 7 to 3
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 3 from 2 to 8
|
||||||
|
move 4 from 1 to 6
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 4 from 1 to 2
|
||||||
|
move 3 from 8 to 1
|
||||||
|
move 13 from 2 to 5
|
||||||
|
move 4 from 3 to 2
|
||||||
|
move 14 from 5 to 7
|
||||||
|
move 5 from 2 to 7
|
||||||
|
move 18 from 7 to 9
|
||||||
|
move 4 from 4 to 7
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 17 from 9 to 5
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 1 from 7 to 2
|
||||||
|
move 5 from 7 to 2
|
||||||
|
move 18 from 1 to 4
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 2 from 1 to 3
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 1 from 8 to 3
|
||||||
|
move 13 from 4 to 5
|
||||||
|
move 1 from 1 to 6
|
||||||
|
move 3 from 2 to 4
|
||||||
|
move 1 from 6 to 1
|
||||||
|
move 3 from 2 to 9
|
||||||
|
move 3 from 3 to 1
|
||||||
|
move 5 from 4 to 5
|
||||||
|
move 30 from 5 to 3
|
||||||
|
move 1 from 4 to 6
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 21 from 3 to 7
|
||||||
|
move 3 from 1 to 6
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 1 from 9 to 6
|
||||||
|
move 1 from 8 to 2
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 1 from 9 to 3
|
||||||
|
move 5 from 4 to 8
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 9 from 5 to 7
|
||||||
|
move 2 from 5 to 9
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 2 from 6 to 3
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 4 from 3 to 8
|
||||||
|
move 2 from 9 to 2
|
||||||
|
move 4 from 2 to 6
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 2 from 5 to 4
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 2 from 9 to 1
|
||||||
|
move 5 from 3 to 5
|
||||||
|
move 1 from 1 to 8
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 5 from 5 to 6
|
||||||
|
move 18 from 7 to 5
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 12 from 7 to 5
|
||||||
|
move 15 from 5 to 6
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 1 from 1 to 2
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 1 from 7 to 9
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 1 from 2 to 4
|
||||||
|
move 4 from 4 to 2
|
||||||
|
move 1 from 2 to 1
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 4 from 6 to 4
|
||||||
|
move 3 from 2 to 6
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 8 from 4 to 3
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 6 from 6 to 1
|
||||||
|
move 1 from 3 to 6
|
||||||
|
move 5 from 1 to 7
|
||||||
|
move 10 from 5 to 9
|
||||||
|
move 3 from 9 to 8
|
||||||
|
move 7 from 6 to 2
|
||||||
|
move 1 from 7 to 8
|
||||||
|
move 3 from 5 to 8
|
||||||
|
move 3 from 6 to 2
|
||||||
|
move 6 from 8 to 9
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 2 from 4 to 8
|
||||||
|
move 6 from 6 to 9
|
||||||
|
move 1 from 1 to 4
|
||||||
|
move 17 from 9 to 2
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 2 from 7 to 8
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 3 from 8 to 4
|
||||||
|
move 3 from 1 to 4
|
||||||
|
move 9 from 8 to 2
|
||||||
|
move 1 from 8 to 4
|
||||||
|
move 12 from 2 to 7
|
||||||
|
move 4 from 7 to 4
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 10 from 4 to 2
|
||||||
|
move 3 from 3 to 2
|
||||||
|
move 1 from 9 to 7
|
||||||
|
move 11 from 7 to 3
|
||||||
|
move 1 from 3 to 1
|
||||||
|
move 2 from 3 to 9
|
||||||
|
move 1 from 3 to 7
|
||||||
|
move 2 from 1 to 9
|
||||||
|
move 1 from 6 to 5
|
||||||
|
move 7 from 3 to 6
|
||||||
|
move 1 from 7 to 3
|
||||||
|
move 3 from 3 to 4
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 2 from 4 to 3
|
||||||
|
move 2 from 4 to 8
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 2 from 6 to 8
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 1 from 9 to 5
|
||||||
|
move 1 from 5 to 1
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 1 from 3 to 2
|
||||||
|
move 4 from 6 to 1
|
||||||
|
move 5 from 1 to 4
|
||||||
|
move 11 from 2 to 4
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 1 from 8 to 9
|
||||||
|
move 27 from 2 to 5
|
||||||
|
move 4 from 6 to 3
|
||||||
|
move 3 from 2 to 4
|
||||||
|
move 2 from 5 to 9
|
||||||
|
move 1 from 5 to 7
|
||||||
|
move 2 from 9 to 5
|
||||||
|
move 14 from 4 to 7
|
||||||
|
move 2 from 4 to 7
|
||||||
|
move 3 from 4 to 8
|
||||||
|
move 4 from 3 to 1
|
||||||
|
move 4 from 1 to 8
|
||||||
|
move 2 from 3 to 9
|
||||||
|
move 2 from 9 to 3
|
||||||
|
move 7 from 8 to 9
|
||||||
|
move 1 from 3 to 8
|
||||||
|
move 2 from 3 to 2
|
||||||
|
move 25 from 5 to 9
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 1 from 8 to 7
|
||||||
|
move 26 from 9 to 1
|
||||||
|
move 23 from 1 to 5
|
||||||
|
move 7 from 9 to 7
|
||||||
|
move 1 from 9 to 8
|
||||||
|
move 1 from 9 to 2
|
||||||
|
move 5 from 7 to 1
|
||||||
|
move 20 from 5 to 6
|
||||||
|
move 1 from 7 to 6
|
||||||
|
move 2 from 5 to 3
|
||||||
|
move 1 from 8 to 6
|
||||||
|
move 21 from 6 to 8
|
||||||
|
move 1 from 6 to 4
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 2 from 1 to 6
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 1 from 2 to 5
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 2 from 7 to 6
|
||||||
|
move 6 from 7 to 9
|
||||||
|
move 3 from 1 to 2
|
||||||
|
move 17 from 8 to 1
|
||||||
|
move 1 from 4 to 1
|
||||||
|
move 2 from 6 to 9
|
||||||
|
move 3 from 8 to 9
|
||||||
|
move 2 from 3 to 7
|
||||||
|
move 2 from 9 to 8
|
||||||
|
move 4 from 7 to 3
|
||||||
|
move 4 from 3 to 4
|
||||||
|
move 2 from 5 to 8
|
||||||
|
move 4 from 8 to 4
|
||||||
|
move 3 from 6 to 8
|
||||||
|
move 18 from 1 to 5
|
||||||
|
move 1 from 3 to 4
|
||||||
|
move 3 from 2 to 4
|
||||||
|
move 5 from 9 to 1
|
||||||
|
move 10 from 7 to 5
|
||||||
|
move 5 from 1 to 3
|
||||||
|
move 5 from 3 to 5
|
||||||
|
move 5 from 4 to 3
|
||||||
|
move 2 from 4 to 2
|
||||||
|
move 5 from 8 to 3
|
||||||
|
move 25 from 5 to 2
|
||||||
|
move 3 from 3 to 6
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 3 from 6 to 7
|
||||||
|
move 1 from 4 to 2
|
||||||
|
move 1 from 5 to 8
|
||||||
|
move 2 from 4 to 9
|
||||||
|
move 1 from 8 to 1
|
||||||
|
move 20 from 2 to 7
|
||||||
|
move 10 from 7 to 1
|
||||||
|
move 1 from 1 to 7
|
||||||
|
move 4 from 7 to 8
|
||||||
|
move 5 from 5 to 4
|
||||||
|
move 4 from 8 to 6
|
||||||
|
move 1 from 1 to 3
|
||||||
|
move 5 from 7 to 4
|
||||||
|
move 2 from 1 to 5
|
||||||
|
move 4 from 9 to 1
|
||||||
|
move 3 from 2 to 5
|
||||||
|
move 5 from 5 to 1
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 11 from 1 to 3
|
||||||
|
move 1 from 6 to 2
|
||||||
|
move 7 from 3 to 5
|
||||||
|
move 11 from 3 to 7
|
||||||
|
move 1 from 2 to 6
|
||||||
|
move 7 from 7 to 8
|
||||||
|
move 1 from 9 to 1
|
||||||
|
move 2 from 3 to 1
|
||||||
|
move 1 from 5 to 3
|
||||||
|
move 4 from 1 to 6
|
||||||
|
move 4 from 6 to 3
|
||||||
|
move 9 from 4 to 5
|
||||||
|
move 2 from 8 to 2
|
||||||
|
move 4 from 6 to 9
|
||||||
|
move 3 from 2 to 4
|
||||||
|
move 1 from 8 to 6
|
||||||
|
|
54
rust/day5/src/main.rs
Normal file
54
rust/day5/src/main.rs
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
use std::fs::read_to_string;
|
||||||
|
|
||||||
|
fn analyse(str: &String) -> (u32, Vec<(u32, u32, u32)>, Vec<Vec<&str>>) {
|
||||||
|
// Initializing some values.
|
||||||
|
let mut info: Vec<_> = str.split("\r\n").collect();
|
||||||
|
let mut crates: &[&str] = &[""];
|
||||||
|
let mut cmd: &[&str] = &[""];
|
||||||
|
let mut crates_str: Vec<Vec<&str>> = Vec::new();
|
||||||
|
let mut commands_tuple: Vec<(u32, u32, u32)> = Vec::new();
|
||||||
|
|
||||||
|
// Spliting the str into a cmd part, and crates part.
|
||||||
|
for (i, txt) in info.iter().enumerate() {
|
||||||
|
if txt.len() == 0 {
|
||||||
|
info.remove(i);
|
||||||
|
(crates, cmd) = info.split_at(i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Gathering the horizontal number of crates
|
||||||
|
let max_crates: Vec<u32> = crates
|
||||||
|
.last()
|
||||||
|
.unwrap()
|
||||||
|
.to_string()
|
||||||
|
.split_whitespace()
|
||||||
|
.map(|str| str.parse().unwrap())
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
// Gathering each crate Letters
|
||||||
|
for (i, str) in crates.iter().enumerate() {
|
||||||
|
if i == crates.len()-1 {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
crates_str.push(str.split_whitespace().collect());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rearanging commands as simplier datatypes to process.
|
||||||
|
for str in cmd {
|
||||||
|
let str_temp : Vec<&str> = str.split_whitespace().collect();
|
||||||
|
let tuple_temp : Vec<Option<u32>> = str_temp.iter().map_while(|str| Some(str.parse().ok())).collect();
|
||||||
|
commands_tuple.push((tuple_temp[1].unwrap(), tuple_temp[3].unwrap(), tuple_temp[5].unwrap()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returning every info as a tuple
|
||||||
|
(
|
||||||
|
max_crates.iter().max().unwrap().to_owned(),
|
||||||
|
commands_tuple.to_owned(),
|
||||||
|
crates_str.to_owned()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
fn main() {
|
||||||
|
let file_content = read_to_string("exemple").unwrap();
|
||||||
|
let (max, cmd, crates) = analyse(&file_content);
|
||||||
|
println!("max = {}\ncmd = {:?}\ncrates = {:?}", max, cmd, crates);
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue