Skip to content

Instantly share code, notes, and snippets.

View object's full-sized avatar

Vagif Abilov object

View GitHub Profile
@object
object / AdventOfCode2020.12.06.fsx
Created December 6, 2020 05:56
AdventOfCode 2020, December 6
open System
open System.IO
let input =
File.ReadAllLines("input06.txt")
|> Seq.toList
|> Seq.toList
let setOperation =
// Set.union // for part 1
@object
object / AdventOfCode2020.12.07.fsx
Created December 7, 2020 10:12
AdventOfCode 2020, December 7
open System
open System.IO
type BagColor = string * string
type BagQuantity = {
Color : BagColor
Count : int
}
@object
object / AdventOfCode2020.12.08.fsx
Created December 8, 2020 06:16
AdventOfCode 2020, December 8
open System
open System.IO
type Instruction =
| Nop of int
| Acc of int
| Jmp of int
let parseLine (line : string) =
let words = line.Split(' ')
@object
object / AdventOfCode2020.12.09.fsx
Created December 9, 2020 05:57
AdventOfCode 2020, December 9
let input =
File.ReadAllLines("Data/input09.txt")
|> Seq.toArray
|> Array.map Int64.Parse
// Reused from Day 1
let rec findNwithSum sum n numbers acc_sum acc_numbers =
if sum < 0L || n < 0 then
None
else if sum = 0L && n = 0 then
@object
object / AdventOfCode2020.12.10.fsx
Created December 10, 2020 20:16
AdventOfCode 2020, December 10
// Part 1
File.ReadAllLines("Data/input10.txt")
|> Seq.toList
|> List.map Int64.Parse
|> List.sort
|> List.fold (fun (last,diff1,diff3) n ->
if n - last = 1L then (n, diff1+1, diff3) else (n, diff1, diff3+1)) (0L,0,1)
// Part 2
@object
object / AdventOfCode2020.12.11.fsx
Created December 11, 2020 06:46
AdventOfCode 2020, December 11
type SeatStatus =
| Floor
| Empty
| Occupied
let parseStatus ch = match ch with | '.' -> Floor | 'L' -> Empty | _ -> Occupied
let input =
File.ReadAllLines("Data/input11.txt")
@object
object / AdventOfCode2020.12.12.fsx
Created December 12, 2020 07:44
AdventOfCode 2020, December 12
module TwelveOne =
let parseLine (line : string) =
(line.[0],Int32.Parse line.[1..])
let turn cmd dist dir =
match cmd with
| 'R' ->
match dir with
@object
object / AdventOfCode2020.12.13.fsx
Created December 13, 2020 08:40
AdventOfCode 2020, December 13
module ThirteenOne =
open System
open System.IO
type Schedule = {
Timestamp : int
Buses : int array
}
@object
object / AdventOfCode2020.12.14.fsx
Created December 14, 2020 14:56
AdventOfCode 2020, December 14
module FourteenOne =
open System
open System.IO
open System.Text.RegularExpressions
type Memory = Map<int, uint64>
type Instruction =
| Mask of uint64 * uint64
@object
object / AdventOfCode2020.12.16.fsx
Created December 16, 2020 08:51
AdventOfCode 2020, December 16
module Sixteeen =
open System
open System.IO
open System.Text.RegularExpressions
type Range = {
Min : int
Max : int
}