Skip to content

Instantly share code, notes, and snippets.

@tech-zombie
Last active December 6, 2020 22:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tech-zombie/ccaba624fa1f7afb3d7981ba8ea893ce to your computer and use it in GitHub Desktop.
Save tech-zombie/ccaba624fa1f7afb3d7981ba8ea893ce to your computer and use it in GitHub Desktop.
AdventOfCodeDay5
#####puzzle can be found here: https://adventofcode.com/2020/day/5
$list = gc .\day5Input.txt
$highest =0
foreach ($ticket in $list)
{
$rowCode = $ticket.Substring(0,7).ToCharArray()
$columnCode = $ticket.Substring(7,3).ToCharArray()
$rowLowerbound = 0
$rowUpperbound = 127
foreach ($letter in $rowcode)
{
if ($letter -eq "F") { $rowUpperbound = (($rowLowerbound+$rowUpperbound- 1 )/2 ) }
if ($letter -eq "B") { $rowLowerbound = (($rowUpperbound - $rowLowerbound + 1)/2) + $rowLowerbound }
}
$columnLowerbound = 0
$columnUpperbound = 7
foreach ($letter in $columnCode)
{
if ($letter -eq "L") {$columnUpperbound = (($columnLowerbound+$columnUpperbound- 1 )/2 ) }
if ($letter -eq "R") {$columnLowerbound = (($columnUpperbound - $columnLowerbound + 1)/2) + $columnLowerbound }
}
$seatID = $rowLowerbound * 8 + $columnLowerBound
if ($seatID -gt $highest)
{$highest = $seatID}
}
$highest
$list = gc .\day5Input.txt
$highest =0
$seatingPlan = @()
foreach ($ticket in $list)
{
$rowCode = $ticket.Substring(0,7).ToCharArray()
$columnCode = $ticket.Substring(7,3).ToCharArray()
$rowLowerbound = 0
$rowUpperbound = 127
foreach ($letter in $rowcode)
{
if ($letter -eq "F") { $rowUpperbound = (($rowLowerbound+$rowUpperbound- 1 )/2 ) }
if ($letter -eq "B") { $rowLowerbound = (($rowUpperbound - $rowLowerbound + 1)/2) + $rowLowerbound }
}
$columnLowerbound = 0
$columnUpperbound = 7
foreach ($letter in $columnCode)
{
if ($letter -eq "L") {$columnUpperbound = (($columnLowerbound+$columnUpperbound- 1 )/2 ) }
if ($letter -eq "R") {$columnLowerbound = (($columnUpperbound - $columnLowerbound + 1)/2) + $columnLowerbound }
}
$seatID = $rowLowerbound * 8 + $columnLowerBound
#"$ticket - Row: $rowLowerBound - Column: $columnLowerBound - SeatID: $seatID"
if ($seatID -gt $highest)
{$highest = $seatID}
$seatingPlan = $seatingplan + $seatID
}
$highest
$seatingplan = $seatingPlan | sort
$lastSeat = 0
foreach ($seat in $seatingplan)
{
if ($seat-$lastSeat -eq 2)
{ $seat - 1 }
$lastSeat = $seat
}
$ticket = "FBFBBFFRLL"
$rowCode = $ticket.Substring(0,7)
$rowcode = ($rowcode -replace "F","0")-replace "B","1"
[convert]::ToInt32($rowcode,2)
BFBFFBBRLR
FBFBFFBRLL
BFBFBFFRLR
BFFBFBFRLL
FFBFFFBRLL
BFBFFFFLRR
BFBFBFBRRL
BFBFFFBLRL
BFFBBBBRLR
BFFBFFFLRL
BFBFBFBLRR
FBFFBFBRLL
BFFFFBBLRL
FBFBFBBLLL
FFFBFBBLRR
FBFFFBFRLL
FFFBBFBLLL
BFFBBFFRRR
BFFBBFBLRL
BFFFBBBRLR
BFFBFFBLRR
FFBBFFFLRL
BFBBBBBRLR
BFBFBBBRRR
FBFFBFBLRR
FBBFBBBRLR
FBFFFBBLLR
BFFBBBBRRR
BFBFBFFRLL
FFFBFBFLLL
BBFFFBBRLR
BFBFFFFRLR
BFBBBFBLRL
FBBBBFFRLR
FFBBBBFRRR
FBFBFFFLRR
FFFBFFBLRL
BFFFFBBLRR
FFBFFFBLLR
FBFFFFFRLL
BFFFFBFLRR
BBFFFFFLLL
FBFFBBBRLL
FBFFFFBLLR
BFFFFFBRRR
BFBFFFFRRL
FBBBBFBRRR
FBFBFFFLLL
FBFFFFBRRL
FFBBFFBRRR
FBFFBBFLLL
FFBFBBBRLL
BFBFFFFLRL
FFBFFFFLRL
BFBFFFBRLR
FFFBFBFRRR
BFBFBBFRLL
FFBFFBBLRR
FBBFBBBRRL
FFBBFFBRLL
FBFBBBBRRR
BFBBFFBLLL
BFBFBBBRLR
FFBBFBBLLL
BBFFBBBLRL
FBFBBBBLRL
FBFFFBFLLR
FFFBFBBLRL
FBBBFFBLLL
FFBFBBFLLR
FBFFFFBLRR
FFBBFBBRLR
BBFFFBBRRR
BFBFFBFRRL
FFBFBBFRRR
BFFFFFFLLR
BBFFFFFRRR
BFBBBFFLRL
FBBFFFBLLR
FFBFBFFRLL
FBFBFBFLRR
BFBBBBFLLR
FBBBBFBRRL
FFBBBBFRLL
FFBBBFBRLR
BBFFFBBLLL
BFFFBBFLLL
FFBFBBFLLL
FFBFFFFLLL
FFBFBFBRLR
BFBBBFFLLR
FFFBFBFLRL
BBFFBBFLLL
FFBFBFBLRR
FFBFFBFRLR
FBFBFFBRRR
FFBFBFFLRR
BFBFBBBLLR
FFFBBFFLRR
BFFBFBFLRL
BFBBFFFLLR
BBFFBBFLLR
BFFFBBFLRL
BFBBFBBRRR
BFFBBBFLRL
FBBBFBFRLL
BFFBFFFLLR
BFBFFBFLLL
BFFBBBFLRR
BFBBFFBRLL
FBBFFFBRRR
BFBBFBFRRL
FFFBBFFLLR
FBBFFBBLLL
FFBBFBFRRR
BBFFFFFLLR
FFBFBFBRLL
FFFBBBFRLR
BFFBBFBLRR
FBFBBBFLRR
FBBBBBBLRR
BBFFBFFRRL
FBFBBBFRRR
FFBFFFBLLL
FBBFBFBLRL
BFBBFBBLLR
BFBBBBFLLL
BFBBBBBLLR
FBBBFFFRRR
BFFBBFBRLR
BFBBFBFLRL
BFBBFFFRLL
FBBFBFFLRL
FBFFFFBLLL
BFBBBBBLRR
FBBBFBFLRL
BFBFBBFLRL
FFBBFFFLLR
FFBBBBBLRR
FBBBBBFLLR
FBBBFBFRRR
FBBFBFFLLL
BBFFFBBLRR
FFFBFFBLLR
BBFFFBBRRL
FBBBFBFLLL
BFFFBBFRRR
FFFBFFFRRL
FFFBBBBRRR
FBBBFBBRRL
BFFBBBBLRL
FFBBBFBRLL
BFFFFFBLRR
FFBFFBFRRL
FBBBBFFLLR
FBBFBFFRRL
FBFBBBFRRL
FFBFFBBRRL
FBFFFFBRLL
FFBFBFFLLR
BFBBBFFRLR
BFBBFFBRRL
FFBBFFBLLR
BFFBBBFRLR
FFBBFBBLRR
FBFBBBBLLR
FFBFBFFRRR
BFBFBFBRRR
FFFBFFBRRL
BFFFBBFRLL
BFBBFBFRLL
FBBFFBFRRL
FBBFFFBRRL
BFFFBFBRRR
BFFFFFBLLL
FBBFFBBRRL
BFFFBBFRLR
FBFFBBFRLR
FFFBBBBLRL
BFFBFFBRRL
FBFBBBBRRL
FBBFBFFLRR
BFBBBBBLRL
BFFBFBBRRL
BBFFBFFRRR
FBBBFFBRLL
FBBFFBBLRL
FBFBBFBRRL
BBFFBBFRRL
BFBFFFFLLL
BFFFFFBRRL
FFBFFFBRLR
BFFFBFFRLR
FBFBFFFRLR
FFBBFBFLLR
FBBBFBBLLL
FFBBFBBRRL
BFFBBFBLLR
FFBBBBFLRL
BFFBBBFRRR
BFFFFBBLLL
FFBBBFFLRR
FBFFFBBLRL
FBBFBBFRLL
BFBBFBFLLR
FBFFBBFLRL
FFBBBBBLLL
FFBFFBFLLR
FBBBFFFRLL
BFFBBFFRLL
FFBBBBFRLR
FBBFFBFRLR
BFBBBBFRLL
BFFFBFBRLR
BFBFBBFLLR
FBFFFFFRRL
BFBBBFFLLL
BFFBFBBLRL
FBBFFFBLRR
BFFFFFBRLR
FBBBBBBLLR
FBFFBFBLLL
FBFBFBFRLR
FBFFBBBLLL
BFFBBBFLLR
FBBFBBFRLR
FFFBBBFRLL
FFBFBBFRLL
BBFFFFBLLR
FBFFBFFLRR
BFFBBFFLLL
BBFFFBBRLL
FFFBFBBLLL
BFFFFFFRRL
BFBFBBBRLL
FBFFBBBRRR
BFFFBBFLRR
FBBFBBFLLL
FBBFBFFRLR
FBFFFBFRLR
BBFFBFBLRL
FFBBBBBRLL
FBFBFFFLLR
BFFFFFFRLR
FFBBFFBLRR
FFFBBFFRRR
FBBBFFFLLR
FBFBBBBRLL
BBFFFFFLRR
FFBFFBBRLR
FFBBFFFLRR
BFFBFBFLRR
BFFBFBBRLL
FBFBFFBRLR
BFFBFBBLLL
BFBBFFFLRL
FBBBFBBRLR
FFFBBBFLRL
FFBFFBBRRR
FBFBBBBRLR
FFFBBFFRLR
BFBFFFBLLR
BFBFBBFLLL
FBFFBBFRRR
FBBFBBFLLR
FBBBBFFRRL
BFFBBBBLLL
FFBBBBBRLR
BFFFBFFLRR
BFFFBBFLLR
FBFBBFFLLL
BBFFFBFRLL
BFBFFBFLLR
FFBFFBFLRR
BFBBBBFLRL
FBFBBFFLRL
FFBBFBFLLL
FBFBBFFLLR
FBFFFBFLRR
FBBBBBFRLL
FBFBBFBRRR
FFBBFBBRLL
BBFFFFBLRR
BFFBBFFLLR
FBBBBFBLLL
BFBFBFBRLL
FFFBFBBLLR
FBFFBBBRLR
BBFFFFBRRL
FFBBBBFLLL
FBFBFBBLRL
FBFBBFFRRL
FBBFBBBLLR
BFFFFFBLRL
FFBFBBBRRL
FFBFBBBLLL
FBBBBFBLLR
FBFBFFFRRL
BFBBBBBRRR
FBBBFFBRRR
BFBFFBBLLR
FBFFBBFLRR
FFBFFFFLRR
FBFFFFFRLR
FBBBBBBRRR
BFFFBFFLLR
FFBBBFBLLL
BFFFBFFRRL
FFFBFFBRRR
BFFFFFBLLR
BFBFBFFLLR
FBBBBBBRLL
FFBFFFFRRR
FBBFFBFRLL
FBBFFFBLRL
BFFFFBFLRL
FBFBBBFRLL
BBFFBBFLRR
FFFBBFFRLL
FBBFFBFLLR
BFFFFFFRRR
FFBFBFBLRL
BFFBFBFRRL
BBFFFFBLLL
FFBBBFBRRL
FBFBBFBRLL
BFBBFBBRRL
BFBFFBBRRL
FFFBBFBLLR
FFBFBBBRRR
FBBFFBFRRR
BFFFFFBRLL
FFFBBBBLLR
BFBBFBBLLL
FFBBFBFLRR
BFBBFFBRLR
FBBBFFBRLR
BFFFBFFLLL
BFBBFBFLLL
FBBFBBBLLL
BFBFBBFRRL
BFFFBBBLRL
BFBFBFFLRR
FBBFBFBRLR
FBFBFFBLRR
BBFFFBFRRR
BFBFFBFRLL
BFBBBFBLRR
FBBBFFBRRL
FBFFFBBRRL
FBBBBFBLRR
BFFBBBFRRL
BBFFBFBRLR
BBFFBBFRRR
BFBFFFBLLL
BFBBFFBLRR
FBFBBFBLLR
FFFBBFFLLL
FFBBFBBRRR
BFBBBBFRLR
FBBBFFFLRL
FFFBBFFLRL
BFBBBFFRRL
BBFFBFBLLR
BFFBFBFRLR
BFBBFFFLLL
BFFFBFBLLL
FBFFBFFRLR
BFFFBFBLRR
FFBBFFFLLL
BFBBBFBRRL
FBBBFFFLRR
FBFFBFFLLL
BFFBBBBLRR
FBBFBBBLRL
BBFFFBBLLR
FBFBBBFRLR
FFFBFBFRRL
FBBFBFBLLR
FBFBFBFRRR
BFFFBBBLLR
BFFFBBBLLL
FBBFBFFRLL
FFFBFBFLRR
BFBBFBBRLL
BFBBBFBLLR
BFFBFFBLLR
BFFFFBBRLR
BFFFBFBRRL
BBFFFBFRLR
BFFBFFBLRL
FBBBFBBLLR
BFFBFFBLLL
BBFFBBFRLR
FFBFBBFLRL
FBBBBBFRRL
BFFBBFFRRL
BFFFFBFLLR
FBFBBBFLRL
BFFFBFBLLR
FBFBBFBLLL
FFBBFBFRRL
FFBBBBBRRR
FBFFFBFLLL
BFBFBFBRLR
FBFFBBBLRL
FBBFFBFLRL
FFBBBFBLLR
FBFFBFFRRR
BFBBFBFRRR
BFFBFBFLLL
BFFBFFBRRR
BBFFBBFRLL
FBBFFFFLLR
FBBFFBFLRR
BFFFBBBRLL
FBBBFFBLRR
FFFBFBFRLR
FFBFBFFRRL
FFBBFFBRLR
FBBBBFBLRL
FBFFBFFLRL
BFFBFFFRRR
BFFFFBFLLL
FFBFBBBLLR
FFBBBFFLRL
BFBFFFBRRL
FBBBBFFRRR
BFFFBBBLRR
BFBBBFBRRR
FBBBBFBRLR
FBFBBFBRLR
FFBFFBBLRL
FBBBFFBLRL
BFBFFFBLRR
FBBBFBBLRR
BFFFFBBRRL
BBFFFBBLRL
FFFBFFBRLR
FBFFBFFRRL
FFFBFFBLLL
FBBFBBBRLL
FBBBFBBLRL
BFBFFBBLRR
FFBBBBBRRL
BFFBBFBRLL
BBFFBFFLRL
FBFFFBFLRL
BFBFBFFRRR
FBBBBFFLRL
FBFFFBBRLR
BFBBBBFLRR
BFFFFBBRRR
BFBBFBFRLR
BFFBFBBRRR
BFFFBFFRLL
FFFBBFBRLR
BBFFFFBRRR
FBBBBBBLRL
FFFBBBFRRL
FFBBFFFRRL
BBFFFFFRRL
FBBBFFFRLR
FBBFBFBLLL
FFFBFBBRRR
FBBBBBBRLR
FBFBFBBRLR
FFBBBFBLRR
FFBBFFBLLL
FFFBFBBRRL
FFBFBBBLRR
FFBFBBBLRL
FFBBFBFRLR
FFBFBFBLLL
FFFBBBFLLR
FFFBBBBRRL
FFBBFBBLLR
FBBFBFBRLL
FFBFBFFLLL
FFBBBBFLRR
FBFBFBFLLL
FBFFFBFRRR
FBBBBBFLRL
FBFBFBBRLL
FFBFFFBRRL
FBBFBFBLRR
FFBFFFBLRR
FFBFFFFRRL
BFBBFBBLRL
FBBBBFFRLL
BFBBFBBRLR
BFFBFFFRLR
FBBFFFBRLR
FBFFFFFRRR
FBFFFFFLRL
BFFFFBFRRR
BFFFFFFLRR
BFFFBFFRRR
FFBBFFBRRL
FBFBBBBLLL
FFBFFBFRLL
FFBBBFFRRR
FFBBBBBLRL
FBBBBBFLRR
FFFBFBFLLR
BFFFFBBRLL
FBFFBFBLRL
FBFBFFFLRL
FBFFBBFRLL
FBFFBFBRLR
FBBBFBFRLR
BBFFFFBLRL
FFBFFBFLRL
BFFFBBFRRL
BFBFFFFLLR
BFFBBBFLLL
BBFFFBFRRL
FFBBFFFRRR
BFFFFBFRLL
FFBFBFFLRL
FBFBFFBLLL
BFFFFBFRRL
FFFBFBBRLL
FBFFBBBLRR
BFBBBBBRLL
BFBBFFFRRL
BFBFFFBRRR
FBBBBBBLLL
BFFFFBFRLR
BFBBFFBRRR
FBBBFBBRRR
FFBFFBBRLL
FBFBFBBLRR
FFFBBBBLLL
FBFBBBFLLL
BFFBFFBRLL
BFBFBBFLRR
FFFBFBBRLR
BBFFBFFRLR
FBFBFBFLLR
BFBBBBFRRR
FBFBFBFRLL
BFBFFBBRLL
FFBFFFBLRL
FBBBFFFLLL
BFFBBFFLRR
FBBFFBBLLR
FFFBBBFLLL
FBBFBFFRRR
FBBFFBBRRR
FFBFBFBRRL
FBBFFFBRLL
FBFBFFBRRL
BFBFBBFRRR
BBFFBBBLLL
FFBFFBBLLR
BFBFBFBLLR
FFBBFFFRLL
FBBBFBFRRL
FFBBBFFLLR
FFFBFFBLRR
FBBFFFBLLL
BBFFFFFRLL
BFFFBFFLRL
FBFFBBFRRL
FFBFBBFRLR
BBFFFFBRLL
BFBBFBFLRR
BFBFBFBLLL
FFBBBFBLRL
FBBFBBBRRR
FBBFFFFRLL
BFBBBBBRRL
FBBFBBFRRL
FBFBBBFLLR
BFBFBFBLRL
BBFFBFFLLL
BFFBFFBRLR
BFBFFBFLRL
BFBFBBFRLR
FBBFFBBLRR
BFBFFBBRRR
BFFFBBBRRR
FBBFFFFRRR
FBBFFFFLRL
BFBFFBFLRR
FBBBBFFLRR
FFFBFFFRRR
BFBFBBBLRL
FBFFFFFLRR
BFBBBFFLRR
FBFFBBFLLR
BBFFFBFLRR
BFFBFBFLLR
BBFFBFFLLR
BFBBFFFRLR
BBFFFBFLLL
FFBFFFFRLR
BFFBFBBRLR
FBBFBBBLRR
FBFBFFFRRR
FBFBBFFRRR
BFBFBBBLRR
FBBFFFFRLR
BBFFBFBRLL
FFFBBBBRLR
FFBFBFBLLR
FBFBBFBLRL
FFBFBFBRRR
BFBFBFFLRL
BFBFBBBLLL
FBBBBFFLLL
FFBBFFBLRL
BFBBFBBLRR
FFFBBBBRLL
BFFBFFFLLL
FFBFFFFLLR
BBFFFBFLRL
FBBBBBFLLL
FBBFBFBRRR
BFFBFBBLLR
FBFFBFFRLL
FFFBBFBRRL
FBFFFBBLRR
FFFBFBFRLL
FBFBBBBLRR
FBFBFFBLRL
FBBFBBFLRL
BBFFBBBLLR
FFBBBBBLLR
BFFFFFFRLL
FFBBFBBLRL
BFFBFBBLRR
BFFFFFFLRL
FBFFBFBRRR
BFBBBFFRRR
FFBFBBBRLR
FFBFFFBRRR
FBFBFBFRRL
FBFBFBBRRL
BFFFFFFLLL
FFBFBBFRRL
BBFFFBFLLR
FBFFBBBLLR
FBFBFBFLRL
BBFFBFBRRL
FBFFFFBRRR
BFBFFFBRLL
BFBBFFBLLR
BFFFBFBRLL
FFBBBBFLLR
BFBBBFBLLL
FBBFBBFRRR
BFFBBBBLLR
FFBBBFBRRR
FBBFFBBRLR
FBFFFFFLLR
FBFFFFBRLR
FBBFFFFLRR
FFBBFBFRLL
BFBBBBBLLL
BFBBBFBRLL
FFBBFBFLRL
FBBBBBBRRL
BBFFBFBLLL
BFFBBFFRLR
FFFBBBFLRR
BBFFFFBRLR
BBFFBFBRRR
BFBFFBFRRR
BFBFFFFRRR
FFBFBBFLRR
BBFFBFFRLL
BFBFFFFRLL
BFBBBFBRLR
FBFFFBBLLL
FBFFFBBRRR
BFBFFBBLLL
FFBBBFFLLL
FFBFFBBLLL
FFFBBFBRRR
FBFBFFBLLR
FFBBBFFRRL
FBBFFFFLLL
BBFFFFFLRL
BFBBBBFRRL
FFBBBFFRLL
FBBBBBFRRR
FBFFBFFLLR
BBFFBBFLRL
FFFBBBFRRR
BFFFBFBLRL
BFBFBFFLLL
FBFBFBBRRR
FBBBBBFRLR
BFFBBBBRRL
FBFFBFBRRL
BFFBBFBRRL
BFBBFFBLRL
FBBBFFFRRL
BBFFFFFRLR
FFBFFBFLLL
FBBFBBFLRR
FBBBFBFLLR
BFFFFBBLLR
FBBFFBBRLL
FFFBBFBRLL
FFFBBBBLRR
FBBBBFBRLL
FBFFFBBRLL
FFBBBBFRRL
FBFFFFFLLL
FBBFFFFRRL
BFFFBBBRRL
FBFBFFFRLL
FBBFBFBRRL
FBBFFBFLLL
FBBBFBFLRR
FFBBBFFRLR
FFFBFFBRLL
FFFBBFFRRL
FBFFBFBLLR
FBFBBFFRLL
FBFBBFFLRR
BFBBFFFRRR
FBBBFFBLLR
FBFFFFBLRL
FBBFBFFLLR
FFBFFBFRRR
FBFFBBBRRL
BFBFFBBLRL
BFFBBFBRRR
FFFBBFBLRL
BFBFBBBRRL
FFFBBFBLRR
BFFBBFFLRL
BFBBFFFLRR
FBFBFBBLLR
BFFBFFFRRL
FFBBFFFRLR
BFFBBBBRLL
BBFFBFFLRR
BBFFBFBLRR
FFBFFFFRLL
FFBFBFFRLR
BFFBBFBLLL
FBBBFBBRLL
FBFFFBFRRL
FBFBBFFRLR
FBFBBFBLRR
BFFBFBFRRR
BFBBBFFRLL
BFBFFBFRLR
BFFBFFFLRR
BFFBBBFRLL
BFFBFFFRLL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment