advent-of-code/2019/Scala/day02/Day2.scala

35 lines
723 B
Scala
Raw Normal View History

2019-12-06 22:31:15 +01:00
package day02
class Day2 {
/** Find solution for part1 */
def solveP1(arr: Array[Int]): Int =
{
var i = 0
while (arr(i) == 1 || arr(i) == 2)
{
arr(i) match {
case 1 => arr(arr(i + 3)) = arr(arr(i + 1)) + arr(arr(i + 2)); i += 4
case 2 => arr(arr(i + 3)) = arr(arr(i + 1)) * arr(arr(i + 2)); i += 4
case _ => ()
}
}
arr(0)
}
/** Find fuel needed and recursive fuel */
def solveP2(arr:Array[Int]):(Int, Int) =
{
var tuple = (0, 0)
for (i <- 0 to 99; j <- 0 to 99)
{
val copy = arr.clone()
copy(1) = i
copy(2) = j
if (solveP1(copy) == 19690720) tuple = (i, j)
}
tuple
}
}