Start a new Kumite
AllAgda (Beta)BF (Beta)CCFML (Beta)ClojureCOBOL (Beta)CoffeeScriptCommonLisp (Beta)CoqC++CrystalC#D (Beta)DartElixirElm (Beta)Erlang (Beta)Factor (Beta)Forth (Beta)Fortran (Beta)F#GoGroovyHaskellHaxe (Beta)Idris (Beta)JavaJavaScriptJulia (Beta)Kotlinλ Calculus (Beta)LeanLuaNASMNim (Beta)Objective-C (Beta)OCaml (Beta)Pascal (Beta)Perl (Beta)PHPPowerShell (Beta)Prolog (Beta)PureScript (Beta)PythonR (Beta)RacketRaku (Beta)Reason (Beta)RISC-V (Beta)RubyRustScalaShellSolidity (Beta)SQLSwiftTypeScriptVB (Beta)
Show only mine

Kumite (ko͞omiˌtā) is the practice of taking techniques learned from Kata and applying them through the act of freestyle sparring.

You can create a new kumite by providing some initial code and optionally some test cases. From there other warriors can spar with you, by enhancing, refactoring and translating your code. There is no limit to how many warriors you can spar with.

A great use for kumite is to begin an idea for a kata as one. You can collaborate with other code warriors until you have it right, then you can convert it to a kata.

Ad
Ad

Add new test case

Fundamentals
Functional Programming

add a new test case

update tests

Code
Diff
  • module Sum (Sum.sum) where
    
    import Prelude hiding (sum)
    
    sum :: [Word] -> Word
    sum xs | null xs = 0 | otherwise = foldr1 (+) xs
    • module Sum (Sum.sum) where
    • import Prelude hiding (sum)
    • sum :: [Word] -> Word
    • sum xs = if xs == [] then 0 else foldr1 (+) xs
    • sum xs | null xs = 0 | otherwise = foldr1 (+) xs
Fundamentals
Strings

Another one thread using 'deque' method

Code
Diff
  • from collections import deque
    
    def reverse_string(string):
        reversed_str = deque("")
        [reversed_str.appendleft(letter) for letter in string]
        return "".join(reversed_str)
    • from collections import deque
    • def reverse_string(string):
    • return string[::-1]
    • reversed_str = deque("")
    • [reversed_str.appendleft(letter) for letter in string]
    • return "".join(reversed_str)
Code
Diff
  • from collections import deque
    
    def test():
        dequedStr = deque("test")
        return ''.join([dequedStr.popleft() for x in range(len(dequedStr))])
    • from itertools import compress
    • from collections import deque
    • def test():
    • string = "letters inside a string"
    • digits = [0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
    • result = compress(string, digits)
    • return ''.join(list(result))
    • dequedStr = deque("test")
    • return ''.join([dequedStr.popleft() for x in range(len(dequedStr))])