Message Boards Message Boards

11
|
13791 Views
|
5 Replies
|
17 Total Likes
View groups...
Share
Share this post:

Advent of code 2020 solutions in Wolfram language

Posted 4 years ago

Attachments:
POSTED BY: Michael Hale
5 Replies

And for Q7, one can do nice visualizations (and analysis) using Graph operations such as Subgraph and GraphUnion, and options, such as GraphHighlight and VertexLabels. And the close integration of such functionality is, to me, what sets the Wolfram Language apart from the other programmatic solutions.

POSTED BY: Paul Abbott

My solution to Q1 used pattern-matching:

input /. {___,x_,___,y_,___,z_,___} /; x+y+z == 2020 :> x y z

which easily coped with the given input data.

POSTED BY: Paul Abbott
Posted 4 years ago

Another nice way of doing problem 1 is to use KnapsackSolve, which is a generalization of the subset-sum problem. For part 1.2, this ends up being quite a bit faster too.

Times@@Pick[nums, KnapsackSolve[({#, 1, 1} &)/@nums, {2020, 3}], 1]
POSTED BY: Tom M
Posted 4 years ago

That is a nice solution. And it would have been the required approach if they pushed the input size much beyond 200 numbers.

POSTED BY: Michael Hale

enter image description here -- you have earned Featured Contributor Badge enter image description here

Your exceptional post has been selected for our editorial column Staff Picks http://wolfr.am/StaffPicks and Your Profile is now distinguished by a Featured Contributor Badge and is displayed on the Featured Contributor Board. Thank you!

POSTED BY: EDITORIAL BOARD
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract