Solved 2015/08 P1+P2
This commit is contained in:
parent
4274b0bb89
commit
99bb81be32
37
2015/08/8.md
37
2015/08/8.md
@ -45,7 +45,40 @@ characters of string code (`2 + 5 + 10 + 6 = 23`) minus the total number
|
|||||||
of characters in memory for string values (`0 + 3 + 7 + 1 = 11`) is
|
of characters in memory for string values (`0 + 3 + 7 + 1 = 11`) is
|
||||||
`23 - 11 = 12`.
|
`23 - 11 = 12`.
|
||||||
|
|
||||||
To begin, [get your puzzle input](8/input).
|
Your puzzle answer was `1342`.
|
||||||
|
|
||||||
Answer:
|
## \-\-- Part Two \-\-- {#part2}
|
||||||
|
|
||||||
|
Now, let\'s go the other way. In addition to finding the number of
|
||||||
|
characters of code, you should now *encode each code representation as a
|
||||||
|
new string* and find the number of characters of the new encoded
|
||||||
|
representation, including the surrounding double quotes.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
- `""` encodes to `"\"\""`, an increase from `2` characters to `6`.
|
||||||
|
- `"abc"` encodes to `"\"abc\""`, an increase from `5` characters to
|
||||||
|
`9`.
|
||||||
|
- `"aaa\"aaa"` encodes to `"\"aaa\\\"aaa\""`, an increase from `10`
|
||||||
|
characters to `16`.
|
||||||
|
- `"\x27"` encodes to `"\"\\x27\""`, an increase from `6` characters
|
||||||
|
to `11`.
|
||||||
|
|
||||||
|
Your task is to find *the total number of characters to represent the
|
||||||
|
newly encoded strings* minus *the number of characters of code in each
|
||||||
|
original string literal*. For example, for the strings above, the total
|
||||||
|
encoded length (`6 + 9 + 16 + 11 = 42`) minus the characters in the
|
||||||
|
original code representation (`23`, just like in the first part of this
|
||||||
|
puzzle) is `42 - 23 = 19`.
|
||||||
|
|
||||||
|
Your puzzle answer was `2074`.
|
||||||
|
|
||||||
|
Both parts of this puzzle are complete! They provide two gold stars:
|
||||||
|
\*\*
|
||||||
|
|
||||||
|
At this point, you should [return to your Advent calendar](/2015) and
|
||||||
|
try another puzzle.
|
||||||
|
|
||||||
|
If you still want to see it, you can [get your puzzle
|
||||||
|
input](8/input).
|
||||||
|
|
||||||
|
@ -1,31 +1,25 @@
|
|||||||
#!/bin/python3
|
#!/bin/python3
|
||||||
import sys,re
|
import sys,re,ast,json
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
sys.path.insert(0, '../../')
|
sys.path.insert(0, '../../')
|
||||||
from fred import list2int,get_re,nprint,lprint,loadFile
|
from fred import list2int,get_re,nprint,lprint,loadFile
|
||||||
|
|
||||||
input_f = 'test'
|
input_f = 'input'
|
||||||
|
|
||||||
part = 1
|
part = 2
|
||||||
#########################################
|
#########################################
|
||||||
# #
|
# #
|
||||||
# Part 1 #
|
# Part 1 #
|
||||||
# #
|
# #
|
||||||
#########################################
|
#########################################
|
||||||
|
|
||||||
def parse(line):
|
|
||||||
line = get_re(r'^"(.*)"$',line)
|
|
||||||
tmp = line
|
|
||||||
|
|
||||||
|
|
||||||
if part == 1:
|
if part == 1:
|
||||||
instructions = loadFile(input_f)
|
instructions = loadFile(input_f)
|
||||||
|
|
||||||
char = 0
|
|
||||||
total = 0
|
total = 0
|
||||||
|
|
||||||
for i in instructions:
|
for i in instructions:
|
||||||
total += len(i)
|
total += (len(i)-len(ast.literal_eval(i)))
|
||||||
print(i)
|
|
||||||
|
|
||||||
print(total)
|
print(total)
|
||||||
|
|
||||||
@ -40,4 +34,11 @@ if part == 1:
|
|||||||
# #
|
# #
|
||||||
#########################################
|
#########################################
|
||||||
if part == 2:
|
if part == 2:
|
||||||
exit()
|
instructions = loadFile(input_f)
|
||||||
|
|
||||||
|
total = 0
|
||||||
|
|
||||||
|
for i in instructions:
|
||||||
|
total += (len(json.dumps(i)) - len(i))
|
||||||
|
|
||||||
|
print(total)
|
||||||
|
12
2024/06/6.md
12
2024/06/6.md
@ -119,6 +119,8 @@ guard visit before leaving the mapped area?*
|
|||||||
|
|
||||||
Your puzzle answer was `5212`.
|
Your puzzle answer was `5212`.
|
||||||
|
|
||||||
|
The first half of this puzzle is complete! It provides one gold star: \*
|
||||||
|
|
||||||
## \-\-- Part Two \-\-- {#part2}
|
## \-\-- Part Two \-\-- {#part2}
|
||||||
|
|
||||||
While The Historians begin working around the guard\'s patrol route, you
|
While The Historians begin working around the guard\'s patrol route, you
|
||||||
@ -242,14 +244,8 @@ You need to get the guard stuck in a loop by adding a single new
|
|||||||
obstruction. *How many different positions could you choose for this
|
obstruction. *How many different positions could you choose for this
|
||||||
obstruction?*
|
obstruction?*
|
||||||
|
|
||||||
Your puzzle answer was `1767`.
|
Answer:
|
||||||
|
|
||||||
Both parts of this puzzle are complete! They provide two gold stars:
|
Although it hasn\'t changed, you can still [get your puzzle
|
||||||
\*\*
|
|
||||||
|
|
||||||
At this point, you should [return to your Advent calendar](/2024) and
|
|
||||||
try another puzzle.
|
|
||||||
|
|
||||||
If you still want to see it, you can [get your puzzle
|
|
||||||
input](6/input).
|
input](6/input).
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
.---': ~ '(~), ~| | >@>O< o-_/.()__------| 3 **
|
.---': ~ '(~), ~| | >@>O< o-_/.()__------| 3 **
|
||||||
|@..@'. ~ " ' ~ | |>O>o<@< \____ .'| 4 **
|
|@..@'. ~ " ' ~ | |>O>o<@< \____ .'| 4 **
|
||||||
|_.~._@'.. ~ ~ *| | _| |_ ..\_\_ ..'* | 5 **
|
|_.~._@'.. ~ ~ *| | _| |_ ..\_\_ ..'* | 5 **
|
||||||
|
| ||| @@ '''...| |... .' '.'''../..| 6 **
|
||||||
|
|
||||||
## 2023
|
## 2023
|
||||||
|
|
||||||
@ -102,6 +103,8 @@
|
|||||||
|
|
||||||
## 2015
|
## 2015
|
||||||
|
|
||||||
|
>>*<*<<<o<@>>o<*<<<*<<o>>O>>>*>*<<< 8 **
|
||||||
|
|
||||||
>@>o<O>>O<<<O>>>*>>*<*>>*<O<<o<<<O>>@<< 6 **
|
>@>o<O>>O<<<O>>>*>>*<*>>*<O<<o<<<O>>@<< 6 **
|
||||||
>@<@<O>>>o<<O>>O<O>@>@>>>@>>o<*<<<*<<<@<< 5 **
|
>@<@<O>>>o<<O>>O<O>@>@>>>@>>o<*<<<*<<<@<< 5 **
|
||||||
>*>>O>@>>>@>>@>>>o<<<*<<<@>>@<<O<<<@<<O<<<< 4 **
|
>*>>O>@>>>@>>@>>>o<<<*<<<@>>@<<O<<<@<<O<<<< 4 **
|
||||||
|
Loading…
Reference in New Issue
Block a user