This required some logic figuring out how the digits interacted. Again I don’t think talking about the logic helps.
I uses some logic like this
const v6 = undecided
.filter(z=>overlap(z,v8)==6)
.filter(z=>overlap(z,v1)==1)[0]
undecided = undecided.filter(z=>z!=v6)
and it quickly discriminated the digits. But does not make a nice visualization. This logic skips identifying the individual segments.
I have visualization that deduces the deduction of the segments in the detail section that can be run via a button. Keep in mind on the challenge input this takes forever ;)
Input
Result
part 1: NaN
part 2: NaN
Details
active: 0
loading 123