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.
xD
LOL
I believe we are not talking about 2 different things here: if I can find out (looking at historical data, asking former students, etc) that the teacher will only asks problems of kind A, B and C - ignoring topics D, E and F - I will focus on preparing in that direction.
You call it "lazy cheating", for some reason, I call it "optimisation", the bread and butter of being a decent engineer. And I would do that if I am not interested too much in those classes - "boring" being an apt keyword spotted by Voile.
What would exactly be the "whole purpose" of CW, then? I thought it was for the creators to generate critical mass, muster coders offering them a stimulating environment in which they can grow and exchange ideas.
We might discuss on how successful was the execution, but I don't perceive your ideal "sportmanship", nowehere noted - much less recommended -, as the major point of CW. Or is it?
You do not simply judge what is "lazy and unimaginative". You are not in a position to dictate how others should code, or what is considered cheating. Stop being such an elitist. You're no different than the people who bitch about solutions being UUN (unreadable, unmaintainable, not for production).
As far as CW system goes, as long as a solution is not hacking the runtime/testing framework it is legal, so it's kata author's fault for not catching bad solutions. You can keep arguing the opposite, but note that basically nobody in CW would agree with you, and you're just wasting your time.
This is called TDD, mate. CW kata runs on TDD. Look it up.
The kata author has their responsibility to make sure everything is tested and only good solution passes. Otherwise what would the kata authors be doing? Keep talking crap in the description while writing incomplete tests that can be passed easily? They might as well just put
Test.expect(true)
in the tests since tests are not needed! You're judged by some pesky, draconian "coder" people instead of code! We're back to college again!Now that'd be funny.
That's your opinion, which again, nobody around would agree with you because it's not a "core difference in philosophy", it's CW's official policy. If you disagree, go make a kata about "solving 3-SAT in polynomial time", then only put a
Test.expect(true)
in the tests, and see what happens.Then either the kata is boring, or the tests are lacking. It's still not the user's fault. Why do you always want to label this as "user cheating"? Your focus is entirely wrong.
You're thinking it backwards. The one and only one requirement of test suite is that it should accept answers that completes the task correctly, and reject all answers that doesn't (this is what TDD is about). If it doesn't do this correctly, the tests are flawed. Nobody has any obligations to play along with the kata author (after all, the kata author can demand you to solve 3SAT in polynomial time and then not put any tests on it). We only hold obligations to what is being tested. Arguably you can even write a description that is completely unrelated to the tests, though that'd be really, really bad idea.
False. Lookup table is a valid and widely used technique to solve problems, especially if you already know the result.
Then go complain at the kata author/translator and raise an issue about the lack of random tests. Complaining at people submitting pattern-matching solutions as "cheating" is the least productive action you can take out of the situation. And random tests are mandatory nowadays anyway, so it's the kata author/translator's fault, not user's fault.
Well, we might agree to disagree, then: I personally find this approach still less trite than going for a naive solution; similarly, going for a smart(er) approach trying to prepare for a problem/exam, still shows ingenuity, at least.
Sure, once better tests are out (I opened an issue for that) this one will surely fail, but downvoting a comment is not like downvoting a solution (which I am not sure if I would endorse as a practice).
Well, downvoting me for this is not very productive, is it? Btw, I beg to disagree: this would not be stealing the results of a math test, but scout, find all the possible problems and prepare a template for it.
On top of that, most other solutions just brute-force it, so I fail to see them much smarter...
How is that lazy? I wrote me own code to generate all of them, then left only the required ones in . the final version, to golf it.
In Python I made it more complex, storing only the base cases and deriving the others from it, just to have fun, but here I just took the chance to hack the kata a bit.