👨‍💻
Tantangan Coding
  • Codewars
    • 08-01-2022
      • Cek IsUpperCase
  • Codewars
    • 08-01-2022
      • Mumbling Problem
Powered by GitBook
On this page
  • Problem
  • Solution
  • Best Solution

Was this helpful?

  1. Codewars
  2. 08-01-2022

Mumbling Problem

Previous08-01-2022

Last updated 3 years ago

Was this helpful?

8 kyu

5 menit

Aku belajar pake konsep make di golang

Problem

Accum("ZpglnRxqenU")
// "Z-Pp-Ggg-Llll-Nnnnn-Rrrrrr-Xxxxxxx-Qqqqqqqq-Eeeeeeeee-Nnnnnnnnnn-Uuuuuuuuuuu"

Solution

import (
	"strings"
)

func Accum(s string) string {
	var result string

	// looping range s
	for i, v := range s {

		var word string

		loop := i
		word += strings.ToUpper(string(v))

		// looping range word
		for loop > 0 {
			word += strings.ToLower(string(v))
			loop--
		}

		if i > 0 {
			result += "-"
		}
		result += word
	}

	return result
}

Best Solution

import (
	"strings"
)

func Accum(s string) string {
	parts := make([]string, len(s))

	for i, v := range s {
		parts[i] = strings.ToUpper(string(v)) + strings.Repeat(strings.ToLower(string(v)), i)
	}

	return strings.Join(parts, "-")
}
💡
🕐
✏️