Pardon my lack of knowledge, but what do you mean by 'mutating input'? 'Cause I'm facing the same issue as you.
Honestly, in actual production coding-for-real-money-as-a-career, deciphering verbal gimmicks, as in "WTF is Product/CEO/Marketing talking about?" seems to be the main part of being an experienced senior engineer.
This comment is hidden because it contains spoiler information about the solution
The Example for Java shows code for c++. this is what is shows when select java as language
The image in the description is dead.
Python 3 should be enabled.
Interesting kata, but for random test in python knightVsKing receive tuple instead of list or array how is described in kata description.
The description was really poorly worded...
Just had the same problem. Tried coding exactly what you said. Note also that the test cases sometimes have multiple fours, so I guess determining where the game actually finished is part of the task.
Doesn't connect four usually end when someone succeeds in connecting four? Realistically whenever the game has less then 42 moves, you should be able to conclude that last player is winner. Then all you would need to code for is whether the last move in a 42 move game produced a win or not.
That's what I figured eventually. But this is a poor description of the kata objective. You you rewarding people who happen to think like the author, rather than the people who get the right solution based on the description, which is strctly speaking impossible since the description is incomplete.
The random tests always expect "Wrong Input!!!" as the return value. Basically, there is only one test total where the Name property is expected and that is for the fixed test case.