diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-03-14 10:23:43 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-03-14 10:23:43 +0700 |
commit | 69a50f40bea8f04c2d2b1715dad5ea8c7d6ef507 (patch) | |
tree | f51905a868a94fa6eac79f5a6d6ec5aceb139f42 /daily/305intermediate/README.md | |
parent | 2468c60b00b200b24a383ecc0fdc5d3cf8721b9f (diff) | |
download | cp-69a50f40bea8f04c2d2b1715dad5ea8c7d6ef507.tar.gz |
Add /r/dailyprogrammer Challenge #305
Diffstat (limited to 'daily/305intermediate/README.md')
-rw-r--r-- | daily/305intermediate/README.md | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/daily/305intermediate/README.md b/daily/305intermediate/README.md new file mode 100644 index 0000000..b1854b9 --- /dev/null +++ b/daily/305intermediate/README.md @@ -0,0 +1,53 @@ +# [[2017-03-08] Challenge #305 [Intermediate] The Best Conjunction](https://www.reddit.com/r/dailyprogrammer/comments/5yaiin/20170308_challenge_305_intermediate_the_best/) + +## Description + +Your job is to find the best conjunction—that is, find the word with the most +sub-words inside of it given a list of English words. Some example include: + +* Something (3 words: So, me, thing) +* Awesomeness (3 words: awe, some, ness) + +## Formal Inputs & Outputs + +### Input description + +Use a [list of English words](http://www-personal.umich.edu/~jlawler/wordlist) +and a *minimum sub-word length* (the smallest length of a sub-word in a +conjuncted word) to find the *best conjunction* (most sub-words) in the +dictionary! + +### Output description + + minSize 3: disproportionateness (6: dis, pro, port, ion, ate, ness) + minSize 4: dishonorableness (4: dish, onor, able, ness) + +Find minSize 5 + +## Notes/Hints + +* Be aware the file is split by `\r\n` instead of `\n`, and has some empty + lines at the end +* In order to run in a reasonable amount of time, you will need an O(1) way of + checking if a word exists. (Hint: It won't be O(1) memory) +* Make sure you're checking all possibilities—that is, given the word *sotto*, + if you begin with *so*, you will find that there is no word or combination of + words to create *tto*. You must continue the search in order to get the + conjunction of *sot* and *to*. + +## Bonus + +* Each sub-word must include the last letter of the previous subword. For + example *counterrevolutionary* would become *count*, *terre*, *evolution*, + *nary* +* Instead of simply the last letter, allow any number of letters to be shared + between words (e.g. *consciencestricken* -> *conscience*, *sciences*, + *stricken*) + +## Credit + +This challenge was suggested by user /u/DemiPixel, many thanks! + +Have a good challenge idea? + +Consider submitting it to /r/dailyprogrammer_ideas |