I'm repeating some things from my last comment, but leaving them here for completeness.
I think that now the requirements are much better
The requirements are much less clear with the added edge cases, so I have closed the challenge for now.
I went through and tested every single answer that I could (all but 2 of them without TIO links). Not a single one of them passed the AAAH → AfafaAfaH
test case that you added after the fact. And that doesn't surprise me, since this is a very strange edge case that requires some guess work to figure out what you were intending.
Why not handle more than 2 consecutive vowels? My first assumption would be aaaa --> afafafafa
, but clearly that's wrong.
Why does that case turn some letters into lower case? The second A
became an a
Another rule that has to be inferred from test cases is how A
becomes Afa
rather than AfA
.
As Dennis pointed out, the challenge can't be deleted anymore unless a moderator does it, and there is no benefit to having it deleted.
What next?
I have an idea to fix the situation that is pretty unorthodox to the way the site tends to work, so it might be unpopular. I'm not officially saying as a moderator that this is what we should do, it's just my thoughts on how we could move forward.
Leave it closed. The challenge in it's current state is still rather unclear and has a lot of edge cases that aren't explicitly stated. And each revision of the challenge was pretty unclear too, so if we wanted it to be re-opened, it would require rolling back, significant editing, deleting nearly all the comments, and then going through and deleting a large portion of the answers. This seems really sloppy to me. Let's just say the challenge didn't work out the way you hoped, it's unclear, and that's OK.
Note that this includes not deleting it since there are upvoted answers on the thread.
Post the challenge in The Sandbox. This will allow people to suggest improvements without invalidating answers. While it's in here, I would recommend waiting at least a week, both because it needs some time for clarification, but also because I think it would be best to not repost the challenge immediately.
While you have this challenge in the sandbox, focus quite a bit on simplifying the challenge. In particular,
There should be no rules that need to be inferred from the test cases.
There should be as few edge cases as possible. If this means removing uppercase altogether, then do that. If this means saying that no input will contain more than 2 consecutive vowels, do that.
The test cases should all be covered by a small set of simple rules that are consistent and cover everything. By "small set", I mean 2 rules, maybe a 3rd if necessary.
For your challenge in particular:
Personally, I would recommend removing 2 consecutive vowels are not special. You have to handle 2 consecutive vowels. I think something like aaa --> afafafa
is far more clear than aaa --> afafaafa
. Either keep the double-vowel rule consistent with more than 2 vowels, or don't make people support inputs with more than 2 vowels.
Make sure you are clear and explicit about the capitalization of any added vowels. For example, in your current revision, it's completely unclear why the second 'A' becomes lowercase. Why is it AAH --> AfafaH
and not AAH --> AfAfAH
or even AfAfaH
? Again, the challenge might be a lot better if you just remove handling of uppercase characters entirely.
After improving the challenge and waiting long enough, I think it would be perfectly fine to post the challenge back on main. It's a little bit weird to advocate for a repost, but 1) The new challenge will be far better. 2) It's not really a duplicate since the current challenge is closed.
And we could also close the current challenge as a duplicate of the new one to point people towards the better challenge. That's not even an unusual course of action.
I do think that it's a good challenge, it's was just ruined by changing the rules too many times. With some polishing and a more consistent spec, I think this would be a very enjoyable challenge to answer.