this post was submitted on 17 Aug 2023
14 points (100.0% liked)
Programming Challenges
235 readers
1 users here now
Welcome to the programming.dev challenge community!
Three challenges will be posted every week to complete
- Tuesday (Easy)
- Thursday (Medium)
- Saturday (Hard)
Easy challenges will give 1 point, medium will give 2, and hard will give 3. If you have the fastest time or use the least amount of characters you will get a bonus point (in ties everyone gets the bonus point)
Exact duplicate solutions are not allowed and will not give you any points. Submissions on a challenge will be open for a week.
A leaderboard will be posted every month showing the top people for that month
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
Older solution that doesn't work quite right
spoiler
This time I did it in JavaScript. Overall, it solves it in a reasonable amount of time up to n = 16, but won't at n = 18 and up.I don't feel experienced enough with data structures and algorithms to make this more efficient. I really just started learning this stuff and don't have a great grasp of it yet. I could of probably used a set to save some lines instead of a hashmap, but eh, its probably slightly faster because I went the hashmap route to get rid of duplicates.
I revised it because I was pointed out I missed an aspect of the problem. This is in JavaScript
Interesting approach, but from my understanding of the code, it doesn't generate matches like
[()][()]
. I could be wrong, but I don't see how you can get that by prepending, appending, and enclosing just()
,[]
, and/or{}
.I'm also assuming that
[()][()]
is supposed to be one of the results for n = 8. At least two others here seem to have made that assumption, and I believe it's consistent with the previous challenge. Would be nice to have some clarification on this, though.You know, you are right. I overlooked the idea of there being multiple nests. That complicates things.
I could probably revise the current method, but build different n sized clusters through recursion, then just mix them.
Or, maybe just an insertion based one, placing a full bracket at every position in the string. That probably would be faster than the previous idea.
~~I guess I'll work on that tomorrow.~~
I ended up updating it now.
Thanks for the heads up.