advent_of_code/year2019/
day09.rs1use super::int_code::Program;
2use crate::input::Input;
3
4pub fn solve(input: &Input) -> Result<String, String> {
5 let mut program = Program::parse(input.text)?;
6 program.input(input.part_values(1, 2));
7
8 let output = program.run_for_output()?;
9 Ok(output
10 .iter()
11 .map(|&value| value.to_string())
12 .collect::<Vec<String>>()
13 .join(","))
14}
15
16#[test]
17pub fn tests() {
18 test_part_one!("104,1125899906842624,99" => "1125899906842624".into());
19 test_part_one!("109,1,204,-1,1001,100,1,100,1008,100,16,101,1006,101,0,99" => "109,1,204,-1,1001,100,1,100,1008,100,16,101,1006,101,0,99".into());
20 test_part_one!("1102,34915192,34915192,7,4,7,99,0" => "1219070632396864".into());
21
22 let input = include_str!("day09_input.txt");
23 test_part_one!(input => "3601950151".into());
24 test_part_two!(input => "64236".into());
25}