Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
The performance aspect of this problem makes it an especially enjoyable and useful Kata.
I've started working on this problem and my initial impression is that the balance is off in terms of difficulty in code-breaking vs. software difficulty. I would think the balance would be closer to right if there were just a single ID to decipher, or if the tests incrementally added one ID at a time. As it is, I would rank this problem as very hard for all but avid cypher breakers. For the one or two IDs that I believe I have a handle on (i.e., that I suspect I've deciphered), I envision small difficulty implementing decoders. This imbalance doesn't meant the problem is a bad problem, but, in my opinion at least, it does mean this isn't the right forum for it. It's certainly a stretch to call this problem a "Kata".
Problem wording remains hard to understand and would benefit from editing.
Please clarify for me whether my interpretation of how chameleons change color is as intended. It is my understanding that if two chameleons meet, with one already the desired color, but the other some other color, then it is possible for both to emerge with the desired color. That is, if the desired color is red and a red chameleon meets a green chameleon, it is possible for the red chameleon to stay red, and for the green chameleon to turn red. Is this correct?
I liked the challenge of having to return a function. Nice twist!
The list must contain a minimum of three items for this problem to be well formed. This should be called out in the problem statement.
The index the problem requests is 1-based, not zero-based, and this should be called out in the problem statement.
Using the name 'Test' for the method to be implemented is probably not the clearest, given that it's the item that is tested by the unit tests. (This is a nit).