1
0
Fork 0

Refactoring, Added day1

This commit is contained in:
Ishan Jain 2022-12-12 00:55:35 +05:30
parent 6c0413adf4
commit 47e480311d
Signed by: ishan
GPG Key ID: 0506DB2A1CC75C27
5 changed files with 2567 additions and 0 deletions

View File

@ -4,3 +4,253 @@ version = "0.1.0"
edition = "2021"
[dependencies]
[[bin]]
name = "d1-1"
path = "src/day1/1.rs"
[[bin]]
name = "d1-2"
path = "src/day1/2.rs"
[[bin]]
name = "d2-1"
path = "src/day2/1.rs"
[[bin]]
name = "d2-2"
path = "src/day2/2.rs"
[[bin]]
name = "d3-1"
path = "src/day3/1.rs"
[[bin]]
name = "d3-2"
path = "src/day3/2.rs"
[[bin]]
name = "d4-1"
path = "src/day4/1.rs"
[[bin]]
name = "d4-2"
path = "src/day4/2.rs"
[[bin]]
name = "d5-1"
path = "src/day5/1.rs"
[[bin]]
name = "d5-2"
path = "src/day5/2.rs"
[[bin]]
name = "d6-1"
path = "src/day6/1.rs"
[[bin]]
name = "d6-2"
path = "src/day6/2.rs"
[[bin]]
name = "d7-1"
path = "src/day7/1.rs"
[[bin]]
name = "d7-2"
path = "src/day7/2.rs"
[[bin]]
name = "d8-1"
path = "src/day8/1.rs"
[[bin]]
name = "d8-2"
path = "src/day8/2.rs"
[[bin]]
name = "d9-1"
path = "src/day9/1.rs"
[[bin]]
name = "d9-2"
path = "src/day9/2.rs"
[[bin]]
name = "d10-1"
path = "src/day10/1.rs"
[[bin]]
name = "d10-2"
path = "src/day10/2.rs"
[[bin]]
name = "d11-1"
path = "src/day11/1.rs"
[[bin]]
name = "d11-2"
path = "src/day11/2.rs"
[[bin]]
name = "d12-1"
path = "src/day12/1.rs"
[[bin]]
name = "d12-2"
path = "src/day12/2.rs"
[[bin]]
name = "d13-1"
path = "src/day13/1.rs"
[[bin]]
name = "d13-2"
path = "src/day13/2.rs"
[[bin]]
name = "d14-1"
path = "src/day14/1.rs"
[[bin]]
name = "d14-2"
path = "src/day14/2.rs"
[[bin]]
name = "d15-1"
path = "src/day15/1.rs"
[[bin]]
name = "d15-2"
path = "src/day15/2.rs"
[[bin]]
name = "d16-1"
path = "src/day16/1.rs"
[[bin]]
name = "d16-2"
path = "src/day16/2.rs"
[[bin]]
name = "d17-1"
path = "src/day17/1.rs"
[[bin]]
name = "d17-2"
path = "src/day17/2.rs"
[[bin]]
name = "d18-1"
path = "src/day18/1.rs"
[[bin]]
name = "d18-2"
path = "src/day18/2.rs"
[[bin]]
name = "d19-1"
path = "src/day19/1.rs"
[[bin]]
name = "d19-2"
path = "src/day19/2.rs"
[[bin]]
name = "d20-1"
path = "src/day20/1.rs"
[[bin]]
name = "d20-2"
path = "src/day20/2.rs"
[[bin]]
name = "d21-1"
path = "src/day21/1.rs"
[[bin]]
name = "d21-2"
path = "src/day21/2.rs"
[[bin]]
name = "d22-1"
path = "src/day22/1.rs"
[[bin]]
name = "d22-2"
path = "src/day22/2.rs"
[[bin]]
name = "d23-1"
path = "src/day23/1.rs"
[[bin]]
name = "d23-2"
path = "src/day23/2.rs"
[[bin]]
name = "d24-1"
path = "src/day24/1.rs"
[[bin]]
name = "d24-2"
path = "src/day24/2.rs"
[[bin]]
name = "d25-1"
path = "src/day25/1.rs"
[[bin]]
name = "d25-2"
path = "src/day25/2.rs"

31
src/day1/1.rs Normal file
View File

@ -0,0 +1,31 @@
#![feature(test)]
extern crate test;
const INPUTS: [&'static str; 2] = [include_str!("./sample.txt"), include_str!("./input.txt")];
fn parse(input: &'static str) -> Vec<Vec<i64>> {
input
.trim()
.split("\n\n")
.map(|set| {
set.split('\n')
.map(|c| c.trim())
.map(|c| c.parse::<i64>().unwrap())
.collect()
})
.collect()
}
fn main() {
for input in INPUTS.iter() {
let output = parse(input);
let max = output
.into_iter()
.map(|c| c.into_iter().sum::<i64>())
.max()
.unwrap();
println!("{}", max);
}
}

31
src/day1/2.rs Normal file
View File

@ -0,0 +1,31 @@
use std::cmp::Reverse;
const INPUTS: [&str; 2] = [include_str!("./sample.txt"), include_str!("./input.txt")];
fn parse(input: &'static str) -> Vec<Vec<i64>> {
input
.trim()
.split("\n\n")
.map(|set| {
set.split('\n')
.map(|c| c.trim())
.map(|c| c.parse::<i64>().unwrap())
.collect()
})
.collect()
}
fn main() {
for input in INPUTS.iter() {
let output = parse(input);
let mut sets: Vec<i64> = output
.into_iter()
.map(|c| c.into_iter().sum::<i64>())
.collect();
sets.select_nth_unstable_by_key(2, |c| Reverse(*c));
println!("{}", sets.into_iter().take(3).sum::<i64>());
}
}

2239
src/day1/input.txt Normal file

File diff suppressed because it is too large Load Diff

16
src/day1/sample.txt Normal file
View File

@ -0,0 +1,16 @@
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000