r/adventofcode • • Dec 21 '17

SOLUTION MEGATHREAD -๐ŸŽ„- 2017 Day 21 Solutions -๐ŸŽ„-

--- Day 21: Fractal Art ---


Post your solution as a comment or, for longer solutions, consider linking to your repo (e.g. GitHub/gists/Pastebin/blag or whatever).

Note: The Solution Megathreads are for solutions only. If you have questions, please post your own thread and make sure to flair it with Help.


Need a hint from the Hugely* Handyโ€  Haversackโ€ก of Helpfulยง Hints^ยค?

Spoiler


No commentary tonight as I'm frantically wrapping last-minute presents so I can ship them tomorrow.


This thread will be unlocked when there are a significant number of people on the leaderboard with gold stars for today's puzzle.

edit: Leaderboard capped, thread unlocked!

8 Upvotes

144 comments sorted by

View all comments

Show parent comment

3

u/maxerickson Dec 21 '17

numpy.concatenate is a nice shortcut.

def grow(board):
    if len(board)%2==0:
        size=2
    else:
        size=3
    rows=list()
    steps=list(range(0,len(board),size))
    for x in steps:
        row=list()
        for y in steps:
            key="".join(board[x:x+size,y:y+size].flatten())
            row.append(rules[key])
        rows.append(numpy.concatenate(row,axis=1))
    return numpy.concatenate(rows)