mirror of
https://github.com/wezm/advent-of-code.git
synced 2024-12-18 18:29:55 +00:00
2019 day 1 part 1
This commit is contained in:
parent
dc00f93a03
commit
07453369bb
6 changed files with 150 additions and 0 deletions
6
2019/Cargo.lock
generated
Normal file
6
2019/Cargo.lock
generated
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "advent-of-code"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
9
2019/Cargo.toml
Normal file
9
2019/Cargo.toml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[package]
|
||||||
|
name = "advent-of-code"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Wesley Moore <wes@wezm.net>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
100
2019/input/day1.txt
Normal file
100
2019/input/day1.txt
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
90903
|
||||||
|
135889
|
||||||
|
120859
|
||||||
|
137397
|
||||||
|
56532
|
||||||
|
92489
|
||||||
|
87979
|
||||||
|
149620
|
||||||
|
137436
|
||||||
|
62999
|
||||||
|
71672
|
||||||
|
61022
|
||||||
|
139765
|
||||||
|
69690
|
||||||
|
109513
|
||||||
|
67615
|
||||||
|
77803
|
||||||
|
146519
|
||||||
|
96432
|
||||||
|
129440
|
||||||
|
67912
|
||||||
|
143886
|
||||||
|
126992
|
||||||
|
129921
|
||||||
|
122339
|
||||||
|
61684
|
||||||
|
149706
|
||||||
|
52779
|
||||||
|
106421
|
||||||
|
145896
|
||||||
|
145977
|
||||||
|
76585
|
||||||
|
136021
|
||||||
|
63976
|
||||||
|
97063
|
||||||
|
114899
|
||||||
|
118570
|
||||||
|
102196
|
||||||
|
129126
|
||||||
|
98521
|
||||||
|
136186
|
||||||
|
68054
|
||||||
|
72452
|
||||||
|
92433
|
||||||
|
145851
|
||||||
|
98487
|
||||||
|
149980
|
||||||
|
114477
|
||||||
|
125479
|
||||||
|
62351
|
||||||
|
131559
|
||||||
|
115553
|
||||||
|
129371
|
||||||
|
147164
|
||||||
|
83125
|
||||||
|
146200
|
||||||
|
68621
|
||||||
|
55982
|
||||||
|
79131
|
||||||
|
64907
|
||||||
|
95570
|
||||||
|
132347
|
||||||
|
76889
|
||||||
|
96461
|
||||||
|
123627
|
||||||
|
128180
|
||||||
|
113508
|
||||||
|
70342
|
||||||
|
139386
|
||||||
|
131234
|
||||||
|
140377
|
||||||
|
119825
|
||||||
|
80791
|
||||||
|
52090
|
||||||
|
62615
|
||||||
|
101366
|
||||||
|
138512
|
||||||
|
113752
|
||||||
|
77912
|
||||||
|
64447
|
||||||
|
146047
|
||||||
|
94578
|
||||||
|
82228
|
||||||
|
116731
|
||||||
|
123488
|
||||||
|
103839
|
||||||
|
120854
|
||||||
|
54663
|
||||||
|
129242
|
||||||
|
51587
|
||||||
|
149536
|
||||||
|
71096
|
||||||
|
110104
|
||||||
|
145155
|
||||||
|
139278
|
||||||
|
78799
|
||||||
|
62410
|
||||||
|
64645
|
||||||
|
112849
|
||||||
|
60402
|
15
2019/src/bin/day1.rs
Normal file
15
2019/src/bin/day1.rs
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
use advent_of_code::input;
|
||||||
|
|
||||||
|
fn main() -> io::Result<()> {
|
||||||
|
// Specifically, to find the fuel required for a module, take its mass, divide by three, round down, and subtract 2.
|
||||||
|
let result: i32 = input::read_number_list("input/day1.txt")?
|
||||||
|
.into_iter()
|
||||||
|
.map(|module_mass| (module_mass as f64 / 3.).floor() as i32 - 2)
|
||||||
|
.sum();
|
||||||
|
|
||||||
|
println!("Result: {}", result);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
19
2019/src/input.rs
Normal file
19
2019/src/input.rs
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
use std::fs::File;
|
||||||
|
use std::io;
|
||||||
|
use std::io::{BufRead, BufReader};
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
|
pub fn read_number_list<P: AsRef<Path>>(path: P) -> io::Result<Vec<i32>> {
|
||||||
|
let input = BufReader::new(File::open(path)?);
|
||||||
|
let mut output = Vec::new();
|
||||||
|
|
||||||
|
for line in input.lines() {
|
||||||
|
let line = line?;
|
||||||
|
output.push(
|
||||||
|
line.parse()
|
||||||
|
.map_err(|err| io::Error::new(io::ErrorKind::InvalidInput, err))?,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(output)
|
||||||
|
}
|
1
2019/src/lib.rs
Normal file
1
2019/src/lib.rs
Normal file
|
@ -0,0 +1 @@
|
||||||
|
pub mod input;
|
Loading…
Reference in a new issue