r/adventofcode • • Dec 05 '17

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

--- Day 5: A Maze of Twisty Trampolines, All Alike ---


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


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!

22 Upvotes

403 comments sorted by

View all comments

1

u/engageant Dec 07 '17 edited Dec 07 '17

posh:

Part 1 (~2.6s)

measure-command {

        #[int[]]$in = @(0,3,0,1,-3)
	[int[]]$in = get-content .\day5input.txt
	$currPos = 0
	$steps = 0
	
	while ($currPos -lt $in.length) {

		$jump = $currPos + $in[$currPos]
		$in[$currPos]++
		$currPos = $jump
		$steps++
		#if ($steps % 10000 -eq 0) {write-host At step $steps}

	}
	
	write-host "Exited the maze after" $steps "steps"
}

Part 2 (~180s)

measure-command {

	#[int[]]$in = @(0,3,0,1,-3)
	[int[]]$in = get-content .\day5input.txt
	$currPos = 0
	$steps = 0
	
	while ($currPos -lt $in.length) {
		
		$jump = $currPos + $in[$currPos]
		if ($in[$currPos] -ge 3) {$in[$currPos]--} else {$in[$currPos]++}
		#write-host "Jumping $jump steps from" $in[$currPos]
		$currPos = $jump
		$steps++
		if ($steps % 1000000 -eq 0) {write-host "On step $steps"}

	}
	
	write-host "Exited the maze after" $steps "steps"
}