Skip to content

Latest commit

 

History

History
39 lines (30 loc) · 963 Bytes

File metadata and controls

39 lines (30 loc) · 963 Bytes

Mumbling 7 Kyu

LINK TO THE KATA - FUNDAMENTALS STRINGS PUZZLES

Description

This time no story, no theory. The examples below show you how to write function accum:

Examples:

accum("abcd") -> "A-Bb-Ccc-Dddd"
accum("RqaEzty") -> "R-Qq-Aaa-Eeee-Zzzzz-Tttttt-Yyyyyyy"
accum("cwAt") -> "C-Ww-Aaa-Tttt"

The parameter of accum is a string which includes only letters from a..z and A..Z.

Solution

function capitalizeFirstLetter(string) {
  return string.charAt(0).toUpperCase() + string.slice(1)
}

const accum = string => {
  return string
    .split('')
    .map((letter, index) => {
      const repeatedLowercaseLetter = letter.toLowerCase().repeat(index)
      return capitalizeFirstLetter(repeatedLowercaseLetter)
    })
    .join('-')
}