Advent-of-Code-2023/day19/notes.org

881 B

Notes

testing things

testSorter := day19.ReadSorterLine("qqz{s>2770:qs,m<1801:hdj,R}") log.Printf("my test sorter is %+v", testSorter)

testOperation := day19.ReadOperationLine("s>2770:qs") log.Println(testOperation)

testing simplification

lnx{m>1548:A,A} qqz{s>2770:qs,m<1801:hdj,R} kt{m>2215:R,x>3386:A,x<3107:R,R}

testSorter := day19.ReadSorterLine("kt{m>2215:R,x>3386:A,x<3107:R,R}") log.Printf("my test sorter is %+v", testSorter)

simplified := day19.SimplifyOperation(testSorter) log.Printf("> simplivied %+v", simplified)

i probably don't need 'actual actors'

just a generic function that takes 'detail' and 'sorterData' then applies sorterData to the detail, and calls itself with new sorter

with special cases for "R" and "A"

so. have funciton from OpeartionData & Detail -> true/false if true take the destination, if false, check next