Reflowed problems and added solutions
This commit is contained in:
@@ -1,68 +1,73 @@
|
||||
Advent of Code
|
||||
|
||||
br0xen 40*
|
||||
|
||||
• [About]
|
||||
• [Stats]
|
||||
• [Leaderboard]
|
||||
• [Settings]
|
||||
• [Log out]
|
||||
Advent of Code
|
||||
|
||||
--- Day 8: Matchsticks ---
|
||||
|
||||
Space on the sleigh is limited this year, and so Santa will be bringing his list as a digital
|
||||
copy. He needs to know how much space it will take up when stored.
|
||||
Space on the sleigh is limited this year, and so Santa will be bringing his
|
||||
list as a digital copy. He needs to know how much space it will take up when
|
||||
stored.
|
||||
|
||||
It is common in many programming languages to provide a way to escape special characters in
|
||||
strings. For example, C, JavaScript, Perl, Python, and even PHP handle special characters in
|
||||
very similar ways.
|
||||
It is common in many programming languages to provide a way to escape
|
||||
special characters in strings. For example, C, JavaScript, Perl, Python, and
|
||||
even PHP handle special characters in very similar ways.
|
||||
|
||||
However, it is important to realize the difference between the number of characters in the code
|
||||
representation of the string literal and the number of characters in the in-memory string
|
||||
itself.
|
||||
However, it is important to realize the difference between the number of
|
||||
characters in the code representation of the string literal and the number
|
||||
of characters in the in-memory string itself.
|
||||
|
||||
For example:
|
||||
|
||||
• "" is 2 characters of code (the two double quotes), but the string contains zero
|
||||
characters.
|
||||
• "" is 2 characters of code (the two double quotes), but the string
|
||||
contains zero characters.
|
||||
|
||||
• "abc" is 5 characters of code, but 3 characters in the string data.
|
||||
• "aaa\"aaa" is 10 characters of code, but the string itself contains six "a" characters and
|
||||
a single, escaped quote character, for a total of 7 characters in the string data.
|
||||
• "\x27" is 6 characters of code, but the string itself contains just one - an apostrophe
|
||||
('), escaped using hexadecimal notation.
|
||||
|
||||
Santa's list is a file that contains many double-quoted string literals, one on each line. The
|
||||
only escape sequences used are \\ (which represents a single backslash), \" (which represents a
|
||||
lone double-quote character), and \x plus two hexadecimal characters (which represents a single
|
||||
character with that ASCII code).
|
||||
• "aaa\"aaa" is 10 characters of code, but the string itself contains six
|
||||
"a" characters and a single, escaped quote character, for a total of 7
|
||||
characters in the string data.
|
||||
|
||||
Disregarding the whitespace in the file, what is the number of characters of code for string
|
||||
literals minus the number of characters in memory for the values of the strings in total for
|
||||
the entire file?
|
||||
• "\x27" is 6 characters of code, but the string itself contains just one
|
||||
- an apostrophe ('), escaped using hexadecimal notation.
|
||||
|
||||
For example, given the four strings above, the total number of 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 23 - 11 = 12.
|
||||
Santa's list is a file that contains many double-quoted string literals, one
|
||||
on each line. The only escape sequences used are \\ (which represents a
|
||||
single backslash), \" (which represents a lone double-quote character), and
|
||||
\x plus two hexadecimal characters (which represents a single character with
|
||||
that ASCII code).
|
||||
|
||||
Disregarding the whitespace in the file, what is the number of characters of
|
||||
code for string literals minus the number of characters in memory for the
|
||||
values of the strings in total for the entire file?
|
||||
|
||||
For example, given the four strings above, the total number of 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 23 - 11 = 12.
|
||||
|
||||
Your puzzle answer was 1350.
|
||||
|
||||
--- Part Two ---
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
• "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 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 2085.
|
||||
|
||||
@@ -72,8 +77,6 @@
|
||||
|
||||
If you still want to see it, you can get your puzzle input.
|
||||
|
||||
You can also [Shareon Twitter Google+ Reddit] this puzzle.
|
||||
|
||||
References
|
||||
|
||||
Visible links
|
||||
@@ -90,6 +93,3 @@ References
|
||||
. http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double
|
||||
. http://adventofcode.com/
|
||||
. http://adventofcode.com/day/8/input
|
||||
. https://twitter.com/intent/tweet?text=I%27ve+completed+%22Matchsticks%22+%2D+Day+8+%2D+Advent+of+Code&url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F8&related=ericwastl&hashtags=AdventOfCode
|
||||
. https://plus.google.com/share?url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F8
|
||||
. http://www.reddit.com/submit?url=http%3A%2F%2Fadventofcode%2Ecom%2Fday%2F8&title=I%27ve+completed+%22Matchsticks%22+%2D+Day+8+%2D+Advent+of+Code
|
||||
|
Reference in New Issue
Block a user