<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="153072" data-post-id="153072">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="michallepicki" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  michallepicki
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m continuing to write <a href="https://github.com/michallepicki/adventofcode/blob/master/2019/gleam/src/program_alarm.gleam" rel="noopener nofollow ugc">really ugly Gleam code</a> - but it works so far <img src="https://forum.elixirforum.com/images/emoji/apple/man_shrugging.png?v=15" title=":man_shrugging:" class="emoji" alt=":man_shrugging:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153072" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/33">Post #32</a>
	                </div>
	            </div>
              <div id="likers-container-153072" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153072"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #32"></div>
  </section>
</div>
    <div class="postbit" id="153091" data-post-id="153091">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="qhwa" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/qhwa/120/17564_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  qhwa
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for sharing! Watching the entire progress is such enjoyment and I learned a lot from the video. There were several times I stop and check the things I didn’t know before. And the way you debug is even more worthy to watch. Please share more when available!  <img src="https://forum.elixirforum.com/images/emoji/apple/smile.png?v=15" title=":smile:" class="emoji" alt=":smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153091" data-batch-url="/posts/batch_likers">
                        2
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/34">Post #33</a>
	                </div>
	            </div>
              <div id="likers-container-153091" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153091"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #33"></div>
  </section>
</div>
    <div class="postbit" id="153093" data-post-id="153093">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="evantravers" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/evantravers/120/14079_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  evantravers
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My solution is here… <a href="https://github.com/evantravers/adventofcode/tree/master/2019/elixir/lib/day02" class="inline-onebox" rel="noopener nofollow ugc">adventofcode/2019/elixir/lib/day02 at master · evantravers/adventofcode · GitHub</a></p>
<p>I’m sure my computer code looks really similar to everyone else’s, but I was really pleased with breaking out of the comprehension using the <code>throw</code> <code>catch</code> syntax:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  def p2(input) do
    try do
      for noun &lt;- 0..99, verb &lt;- 0..99 do
        result =
          input
          |&gt; Map.put(1, noun)
          |&gt; Map.put(2, verb)
          |&gt; Intcode.run

        if result == 19690720 do
          throw({:break, (100 * noun + verb)})
        end
      end
    catch
      {:break, result} -&gt; result
    end
  end
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153093" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/35">Post #34</a>
	                </div>
	            </div>
              <div id="likers-container-153093" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153093"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #34"></div>
  </section>
</div>
    <div class="postbit" id="153094" data-post-id="153094">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="agundy" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/agundy/120/17529_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  agundy
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Not sure my solution is idomatic but it works pretty well and I had fun writing it. Any tips?</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">defmodule Solutions.Day2 do
  @opcode_add 1
  @opcode_multiply 2

  def execute_intcode(ints, pos_ptr \\ 0) do
    # take 4, [operator, first value, second value, save register]
    case Enum.slice(ints, pos_ptr, 4) do
      [@opcode_add, first, second, register] -&gt;
        result = Enum.fetch!(ints, first) + Enum.fetch!(ints, second)
        execute_intcode(List.replace_at(ints, register, result), pos_ptr + 4)

      [@opcode_multiply, first, second, register] -&gt;
        result = Enum.fetch!(ints, first) * Enum.fetch!(ints, second)
        execute_intcode(List.replace_at(ints, register, result), pos_ptr + 4)

      [99 | _] -&gt;
        ints
    end
  end

  def patch_intcode(ints, pos_one, pos_two) do
    ints
    |&gt; List.replace_at(1, pos_one)
    |&gt; List.replace_at(2, pos_two)
  end

  def result(intcode, pos_one, pos_two) do
    [result | _] =
      intcode
      |&gt; patch_intcode(pos_one, pos_two)
      |&gt; execute_intcode

    result
  end

  def part_1(intcode) do
    result(intcode, 12, 2)
  end

  def part_2(intcode) do
    answer = []
    valid_inputs = for noun &lt;- 0..99,
      verb &lt;- 0..99,
      result(intcode, noun, verb) == 19690720,
      do: {noun, verb}

    {noun, verb} = hd valid_inputs

    100 * noun + verb
  end

  def answer(input) do
    list = String.split(input, ",")

    int_list =
      Enum.map(
        list,
        fn el -&gt; String.to_integer(el) end
      )

    IO.puts(part_1(int_list))
    IO.puts(part_2(int_list))
  end

  def answer do
    contents = File.read!("priv/day_2_input.txt")
    answer(String.trim(contents))
  end
end
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153094" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/36">Post #35</a>
	                </div>
	            </div>
              <div id="likers-container-153094" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153094"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #35"></div>
  </section>
</div>
    <div class="postbit" id="153095" data-post-id="153095">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="patrickcarver" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/patrickcarver/120/6818_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  patrickcarver
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://github.com/patrickcarver/advent-of-code-2019-elixir/tree/master/day02" rel="noopener nofollow ugc">My solution to Day 2</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153095" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/37">Post #36</a>
	                </div>
	            </div>
              <div id="likers-container-153095" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153095"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #36"></div>
  </section>
</div>
    <div class="postbit" id="153104" data-post-id="153104">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ganesh" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ganesh/120/17548_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ganesh
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://github.com/gsarwate/advent_of_code_2019/blob/master/lib/aoc/day2.ex" rel="noopener nofollow ugc">My solution for day 2</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153104" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/38">Post #37</a>
	                </div>
	            </div>
              <div id="likers-container-153104" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153104"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #37"></div>
  </section>
</div>
    <div class="postbit" id="153111" data-post-id="153111">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="factoryd" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  factoryd
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My solution here: <a href="https://github.com/trbngr/advent_of_code/blob/master/lib/advent_of_code/2019/day02.ex" rel="noopener nofollow ugc">https://github.com/trbngr/advent_of_code/blob/master/lib/advent_of_code/2019/day02.ex</a></p>
<p>I’m really surprised that I seem to be one of the few people that used structs by following the directions pretty dang literally. lol</p>
<p>I’m sure my use of <code>List</code> functions slow this down quite a bit. But I spent way more time that I had planned to and I’m spent.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153111" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/39">Post #38</a>
	                </div>
	            </div>
              <div id="likers-container-153111" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153111"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #38"></div>
  </section>
</div>
    <div class="postbit" id="153184" data-post-id="153184">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="ColaCheng" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/ColaCheng/120/18245_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  ColaCheng
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p><a href="https://github.com/ColaCheng/Adventofcode2019/blob/master/lib/day2/day2.ex" rel="noopener nofollow ugc">My solution for day 2</a></p>
<p>The part2 solution that I use <code>rand.uniform/1</code> to generate the candidate pairs.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153184" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/40">Post #39</a>
	                </div>
	            </div>
              <div id="likers-container-153184" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153184"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #39"></div>
  </section>
</div>
    <div class="postbit" id="153772" data-post-id="153772">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="lpil" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/lpil/120/17492_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  lpil
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Creator of Gleam</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m somewhat late to the party, but here’s one in Gleam!</p>
<p><a href="https://github.com/lpil/advent-of-code/blob/master/2019/02nd-part-1/src/advent.gleam" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/lpil/advent-of-code/blob/master/2019/02nd-part-1/src/advent.gleam</a></p>
<p><a href="https://github.com/lpil/advent-of-code/blob/master/2019/02nd-part-2/src/advent.gleam" class="onebox" target="_blank" rel="noopener nofollow ugc">https://github.com/lpil/advent-of-code/blob/master/2019/02nd-part-2/src/advent.gleam</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153772" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/41">Post #40</a>
	                </div>
	            </div>
              <div id="likers-container-153772" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153772"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #40"></div>
  </section>
</div>
    <div class="postbit" id="153863" data-post-id="153863">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dimitarvp" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dimitarvp/120/38664_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dimitarvp
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Very late myself, here’s mine: <a href="https://github.com/dimitarvp/aoc2019.ex/blob/master/lib/day2.ex" rel="noopener nofollow ugc">https://github.com/dimitarvp/aoc2019.ex/blob/master/lib/day2.ex</a></p>
<p>Rather naive solution using the <code>for</code> comprehension with a filter for part two, finishes in ~85ms (milliseconds).</p>
<p>Figured it was slow and added another version with binary search which finishes in ~750us (microseconds), a ~113 times improvement.</p>
<p>Pretty happy with the result, would welcome criticism!</p>
<p><strong>EDIT: DISCLAIMER:</strong> Borrowed the pretty neat short variable names from <a class="mention" href="/u/bjorng" rel="nofollow">@bjorng</a>’s solution. I liked them a lot and used them. <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="153863" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/advent-of-code-2019-day-2/27250/42">Post #41</a>
	                </div>
	            </div>
              <div id="likers-container-153863" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="153863"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #41"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/27250/load_more?page=5">Load more posts (9 remaining)</a>
</div></template></turbo-stream>