Skip to content

Instantly share code, notes, and snippets.

View eugene70's full-sized avatar

Eugene Kim eugene70

View GitHub Profile
package aoc2020
object Day20:
type InputType = IndexedSeq[Tile]
class Image(val pixels: IndexedSeq[IndexedSeq[Boolean]]):
def this(image: String) =
this(
image.linesIterator
.filter(!_.trim.isEmpty)
package aoc2020
object Day19:
case class InputType(val rules: Map[String, Any], val patterns: Seq[String])
object Rule
class Rules
@main def runDay19: Unit =
val testData = time("testReady", () => ready(testInput))
package aoc2020
object Day16:
class InputType(val myTicket: Seq[Int], val nearbyTickets: Vector[Vector[Int]]):
val validNumbers = new Array[Boolean](1000)
def this(validNumberString: String, myTicketString: String, nearbyTicketString: String) = {
this(
IndexedSeq.empty,
nearbyTicketString
.split(':')(1)
package aoc2020
import scala.annotation.tailrec
object Day15:
type InputType = Seq[Int]
@main def runDay15: Unit =
val testData = time("testReady", () => ready(testInput))
time("tesPart1", () => part1(testData)) // would be 436
package aoc2020
import scala.math.pow
object Day14:
type InputType = String
@main def day14: Unit =
val testData = time("testReady", () => ready(testInput))
time("testPart1", () => part1(testData))
package aoc2020
import org.junit.{Assert, Test}
object Day13:
type InputType = (Int, List[String])
def ready(input: String): InputType =
val in = input
.linesIterator
package aoc2020
object Day12:
import Direction._
import Action._
enum Direction:
case North, East, West, South
package aoc2020
object Day12:
object Direction extends Enumeration:
val North: Value = Value("N")
val East: Value = Value("E")
val West: Value = Value("W")
val South: Value = Value("S")
implicit class Executor(dir: Value):
package aoc2020
object Day11:
enum SeatStatus:
case Empty, Floor, Occupied
import SeatStatus._
object SeatStatus:
package aoc2020
object Day11:
object SeatStatus extends Enumeration:
val Empty: SeatStatus.Value = Value('L')
val Floor: SeatStatus.Value = Value('.')
val Occupied: SeatStatus.Value = Value('#')
import SeatStatus._