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
Code
Diff
  • def max_number(n):
        d = 0
        
        # Get number of digits
        while n // (10 ** d):
            d += 1
        
        # Get digit of n with length d at index i
        def digit(n, d, i):
            return int((n // (10 ** (d - i - 1)))) % 10
            
        # Swap digits of n in place
        def swap(n, d, i, j):
            di = digit(n, d, i)
            dj = digit(n, d, j)
            
            n -= di * (10 ** (d - i - 1))
            n -= dj * (10 ** (d - j - 1))
            n += di * (10 ** (d - j - 1))
            n += dj * (10 ** (d - i - 1))
            
            return n
    
        x = None
    
        # Bubble sort an integer in place
        while x != n:
            x = n
    
            for i in range(d):
                di = digit(n, d, i)
                for j in range(d - 1, i, -1):
                    dj = digit(n, d, j)
                    
                    # Swap condition if you'd prefer smallest int
                    if di < dj:
                        n = swap(n, d, i, j)
                        break
                        
                if x != n:
                    break
                    
        return n
    • import java.util.Arrays;
    • def max_number(n):
    • d = 0
    • # Get number of digits
    • while n // (10 ** d):
    • d += 1
    • # Get digit of n with length d at index i
    • def digit(n, d, i):
    • return int((n // (10 ** (d - i - 1)))) % 10
    • # Swap digits of n in place
    • def swap(n, d, i, j):
    • di = digit(n, d, i)
    • dj = digit(n, d, j)
    • n -= di * (10 ** (d - i - 1))
    • n -= dj * (10 ** (d - j - 1))
    • n += di * (10 ** (d - j - 1))
    • n += dj * (10 ** (d - i - 1))
    • return n
    • public class MaxNumber {
    • public static long print(long number) {
    • return number
    • }
    • }
    • x = None
    • # Bubble sort an integer in place
    • while x != n:
    • x = n
    • for i in range(d):
    • di = digit(n, d, i)
    • for j in range(d - 1, i, -1):
    • dj = digit(n, d, j)
    • # Swap condition if you'd prefer smallest int
    • if di < dj:
    • n = swap(n, d, i, j)
    • break
    • if x != n:
    • break
    • return n
Code
Diff
  • def multiply_and_add_one(a, b):
        if a > b:
            return multiply_and_add_one(b, a)
        
        elif b != 0:
            return a + multiply_and_add_one(a, b - 1)
        
        elif b == 0:
            return 1
        
        else:
            return 0
    
    • def multiply_and_add_one(a, b):
    • return (a * b) + 1
    • if a > b:
    • return multiply_and_add_one(b, a)
    • elif b != 0:
    • return a + multiply_and_add_one(a, b - 1)
    • elif b == 0:
    • return 1
    • else:
    • return 0
Code
Diff
  • импортозамещение = (бренд) => {
      брэнды = {
    МакДоналдс: "Вкусно и точка",
    Тинькофф: "Т-Банк",
    ЛеруаМерлен: "ЛеманаПро",
    YouTube: "Rutube",
    Доллар: "Рубль"
    }
      
      return бренд in  брэнды?брэнды[бренд]:"брэнд не распознан"
    
    }
    • импортозамещение = (брэнд) => {
    • импортозамещение = (бренд) => {
    • брэнды = {
    • МакДоналдс: "Вкусно и точка",
    • Тинькофф: "Т-Банк",
    • ЛеруаМерлен: "ЛеманаПро",
    • YouTube: "Rutube",
    • Доллар: "Рубль"
    • }
    • return бренд in брэнды?брэнды[бренд]:"брэнд не распознан"
    • }
Code
Diff
  • function getEvent(array $digits) : array
    {
    	$generator = function ($digits) {
    		foreach ($digits as $digit) {
    			if (($digit % 2) === 0) {
    				yield $digit;
    			}
    		}
    	};
    
    	return iterator_to_array($generator($digits));
    }
    • function getEvent(array $digits) : array
    • {
    • return [];
    • $generator = function ($digits) {
    • foreach ($digits as $digit) {
    • if (($digit % 2) === 0) {
    • yield $digit;
    • }
    • }
    • };
    • return iterator_to_array($generator($digits));
    • }
Code
Diff
  • def Complicated_Greetings(name):
        h=["H","e","l","l","o"]
        c=","
        w=["W","o","r","l","d"]
        e="!"
        k="".join(h)
        if name=="":
            k+=c
            k+=" "
            k+="".join(w)
            k+=e*2
        else:
            k+=" "
            k+=name
        return k
    • def Complicated_Greetings(name):
    • h=["H","e","l","l","o"]
    • c=","
    • w=["W","o","r","l","d"]
    • e="!"
    • k=""
    • for i in h:
    • k+=i
    • k="".join(h)
    • if name=="":
    • k+=c
    • k+=" "
    • for i in w:
    • k+=i
    • k=k+e+e
    • k+="".join(w)
    • k+=e*2
    • else:
    • k+=" "
    • k+=name
    • return k
Code
Diff
  • function rgbToHsv(rgb) {
      let r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255;
      const v = Math.max(r, g, b);
      const min = Math.min(r, g, b);
      const delta = v - min;
    
      const s = v === 0 ? 0 : delta / v;
    
      let h = 0;
      if (delta !== 0) {
        if (v === r) {
          h = (g - b) / delta + (g < b ? 6 : 0);
        } else if (v === g) {
          h = (b - r) / delta + 2;
        } else {
          h = (r - g) / delta + 4;
        }
        h /= 6;
        h *= 360;
      }
      return [Math.round(h), Math.round(s * 100), Math.round(v * 100)];
    }
    • function rgbToHsv(rgb) {
    • let r = rgb[0], g = rgb[1], b = rgb[2];
    • const v = Math.max(r, g, b) / 255;
    • if (v == 0) return Array.of(0, 0, 0);
    • r /= v;
    • g /= v;
    • b /= v;
    • const s = 1 - Math.min(r, g, b) / 255;
    • if (s == 0) return Array.of(0, 0, v * 100);
    • r = 255 - (255 - r) / s;
    • g = 255 - (255 - g) / s;
    • b = 255 - (255 - b) / s;
    • const peak = Math.max(r, g, b);
    • let r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255;
    • const v = Math.max(r, g, b);
    • const min = Math.min(r, g, b);
    • const delta = v - min;
    • const s = v === 0 ? 0 : delta / v;
    • let h = 0;
    • if (r == peak) h = g < b ? 360 - b * 60 / 255 : g * 60 / 255;
    • else if (g == peak) h = r > b ? 120 - r * 60 / 255 : 120 + b * 60 / 255;
    • else h = r > g ? 240 + r * 60 / 255 : 240 - g * 60 / 255;
    • return Array.of(Math.round(h), Math.round(s * 100), Math.round(v * 100));
    • if (delta !== 0) {
    • if (v === r) {
    • h = (g - b) / delta + (g < b ? 6 : 0);
    • } else if (v === g) {
    • h = (b - r) / delta + 2;
    • } else {
    • h = (r - g) / delta + 4;
    • }
    • h /= 6;
    • h *= 360;
    • }
    • return [Math.round(h), Math.round(s * 100), Math.round(v * 100)];
    • }
Code
Diff
  • function numMinusSeven(num) {
      return Math.ceil(num/7);
    }
    
    • function numMinusSeven(num) {
    • let arr = []
    • while (num > 0) {
    • num -= 7
    • arr.push(num)
    • }
    • return arr.length
    • return Math.ceil(num/7);
    • }
Fundamentals
Games
Code
Diff
  • fn riddle(word: &str) -> usize {
        word.trim_matches(|c: char| !c.is_ascii_alphabetic()).len()
    }
    • def riddle(word):
    • return len(word) - 1
    • fn riddle(word: &str) -> usize {
    • word.trim_matches(|c: char| !c.is_ascii_alphabetic()).len()
    • }
Sets

Best not to use eval and best to keep "const" out of func.

Code
Diff
  • wins = {
        "Rock": "Paper",
        "Paper": "Scissors",
        "Scissors": "Rock"
    }
    def dumbRockPaperScissors(player1, player2):
        if player1 == wins[player2]:
            return "Player 1 wins"
        elif player2 == wins[player1]:
            return "Player 2 wins"
        else:
            return "Draw"
     
    
    • wins = {
    • "Rock": "Paper",
    • "Paper": "Scissors",
    • "Scissors": "Rock"
    • }
    • def dumbRockPaperScissors(player1, player2):
    • Rock = {"Paper"}
    • Paper = {"Scissors"}
    • Scissors = {"Rock"}
    • if player1 in eval(player2):
    • if player1 == wins[player2]:
    • return "Player 1 wins"
    • elif player2 in eval(player1):
    • elif player2 == wins[player1]:
    • return "Player 2 wins"
    • else:
    • return "Draw"