aoc/year2019/day09.rs
1//! # Sensor Boost
2//!
3//! This problem is essentially a unit test for the full intcode computer.
4use super::intcode::*;
5use crate::util::parse::*;
6
7pub fn parse(input: &str) -> Vec<i64> {
8 input.iter_signed().collect()
9}
10
11pub fn part1(input: &[i64]) -> i64 {
12 run(input, 1)
13}
14
15pub fn part2(input: &[i64]) -> i64 {
16 run(input, 2)
17}
18
19fn run(input: &[i64], value: i64) -> i64 {
20 let mut computer = Computer::new(input);
21 computer.input(value);
22
23 match computer.run() {
24 State::Output(result) => result,
25 _ => unreachable!(),
26 }
27}