Skip to main content

advent_of_code/year2019/
day09.rs

1use 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}