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.
No worries! For multiple languages, the way it works is: you publish to beta status in first language (whatever it may be), and from then on you can add translations yourself (and/or accept translations) while the kata is still in beta.
The downside to doing this is that if there are problems with any translations, the kata might get downvoted (and thus have a hard time leaving Beta status) for single-language technical reasons rather than overall quality reasons. It's therefore advised to be careful about translations during the beta status for that reason - either make sure you master all the languages you translate to, and/or trust the person if you approve their translation.
Note, by looking at the current beta catalogue sorted by Newest in this search menu that the most active languages for Beta solvers are, by far, JS and Python; then it looks like Java/C#, then there's a big fall off in activity if you ignore the niche languages like Agda/Coq etc. So as long as you're in one of those 4 you should attract a decent number of power users, and once it's published it will presumably attract the general public + translators.
Thanks for the perspective - much appreciated.
I do have an unrelated question, which is not clear to me from the documentation. Can one propose a new kata in multiple languages simultaneously by providing solutions in the kata editor for all of them? Or does one have to pick one of them, get it approved, and then translate it to the other ones?
Looking more carefully at Hardy Taxi's requirements, it is asking for numbers which can be expressed as the sum of 2 cubes in n different ways for n = 1,2,3, where I'm just dealing with n = 2. So it would take some effort for me to translate my solution to work for this case.
Would it make sense for me to propose my version as sort of a "preliminary work-out" for the Hardy Taxi's version?
Hey;
I don't know any JS at all so I'm afraid I can't check out the performance requirements (if any) either - however I note that the kata is from 2013 so it is probably very overranked by 1-2 kyu compared to Codewars 2022 standards.
In general yes, any translation should be faithful to all existing languages for consistency reasons (since the rating is shared). Basically, whatever approach is allowed to pass in the source kata should pass in the translated version and conversely approaches that do NOT pass should not pass etc. You adjust the test parameters accordingly - especially important when working to/from Python due to how slow it is (again, not an expert, but I believe JS would be about ~3 faster for such integer based calculation tasks; for C++ vs Python the difference is more pronounced still etc.).
Imho the best bet would be to drop in the #reviewing channel in Discord, and ask whether there is any interest in having 2 separate katas and, if not, you can ask if someone could tell you what the JS kata requirements are so you can build your translation accordingly. Good translations are always appreciated, and they'll renew interest in this kata which seems to be a bit dormant since 6-7 years!
My version was going to be easier, in that the straightforward-approach with 4 nested loops, O(n^4), would be sufficient. (Maybe 6kyu?) I haven't solved the JavaScript version (I haven't written JavaScript since graduate school :-( ), but based on the comments, it looks like it's expecting some optimization. If I translate it into python, should I keep the same time constraints?
Hey @brodiemark - I did a quick search (using all languages) with words like "1729" "ramanujan" "taxicab" "taxi" etc and found this in the catalogue:
https://www.codewars.com/kata/525d87d2a1b088366a000f7c
it seems to be what you have in mind? Currently it is only available in JavaScript, so if you'd like you can make the Python translation.
I was going to propose a very similar problem, but in python. Since Tavio seems to have left the site, should I go ahead with my version anyway?
Positive integers that can be expressed as the sum of two cubes in two different ways are known as "taxicab numbers". Given two positive integers m and n, compute the taxicab numbers between m and n, inclusive. The numbers should be returned in a list in ascending order.
Example: computeTaxicabNumbers(1234, 5678) should return [1729, 4104].
The list of forbidden stuff in the description is incomplete.
Nice problem, can easily be solved by trivial looping but will time out. Decent for beginners to figure out some ways to handle without brute force, but no attention and author is long gone ... .
Ruby :
Totally agree because of math.
I think this kata deserves a higher rank, since is pretty difficult for a 6 kyu
Updated with random tests and changed to
assert_equals
.I am not good at Ruby so please check if I am doing right.
Test.assert_equals
instead ofTest.expect
Use
Test.assert_equals
rather thanTest.expect
as it gives more meaningful feedback.Loading more items...