this post was submitted on 03 Dec 2023
2 points (100.0% liked)
Advent Of Code
761 readers
1 users here now
An unofficial home for the advent of code community on programming.dev!
Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.
AoC 2023
Solution Threads
M | T | W | T | F | S | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 |
Rules/Guidelines
- Follow the programming.dev instance rules
- Keep all content related to advent of code in some way
- If what youre posting relates to a day, put in brackets the year and then day number in front of the post title (e.g. [2023 Day 10])
- When an event is running, keep solutions in the solution megathread to avoid the community getting spammed with posts
Relevant Communities
Relevant Links
Credits
Icon base by Lorc under CC BY 3.0 with modifications to add a gradient
console.log('Hello World')
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If I'm reading it right I think the issue is using a HashSet to store the list of numbers for the sum. Some of the input numbers are repeated and the set discards them.
I could be wrong though as I only just started learning rust for AoC.
I originally used a Vec instead (so repeats are allowed) and my answer was still wrong. Whether or not the part numbers are supposed to be unique is something the problem didn't specify.
Any given number has a set of “coordinates”. That exact number can’t be repeated, even if it’s surrounded by symbols. But that number might be elsewhere in the list.
edit:
here's an example:
would give you a total of
7
, because 1 and 1 are two different parts in the parts list. But the1
in the top right is next two symbols, so you still only count it once. It's just a single part! Think of them as parts rather than numbers. Each part is a different thing, even if they have the same name.I thought my
checked_coord_set
already made sure numbers next to more than one symbol were only counted once.If you’re already doing that and you’re deduping the list then you’re doing too much.