[C#] Mumbling 解法

  • 72
  • 0

Mumbling 解法

https://www.codewars.com/kata/mumbling/train/csharp 

在解這個問題的時候,我的想法是針對字串內每個char做處理

(請原諒我目前實力還不夠強 無法寫得非常物件式導向)

以下是我的解決方法

由於NET元件有提供非常多的BCL可以使用

(1) 使用Char.ToUpper() & Char.ToLower()來解決大小寫的轉換

 

(2) 使用+=運算子來做字串串接

可以參考 MSDN https://msdn.microsoft.com/zh-tw/library/sa7629ew.aspx

(3)程式撰寫邏輯

我會分三個步驟去想

a.大寫的轉換

b.小寫的轉換

c."-"(dash)的串接

以下就是我的程式碼寫法

using System;


namespace MumblingConsole
{
    public class Accumul
    {
        public string Accum(string input)
        {
            int count = 0;
            //char[] chars = input.ToCharArray();
            string output="";

            while (count < input.Length)
            {
                
                for (int i = 0; i < count+1; i++)
                {
                    if (i==0)
                    {
                        output += Char.ToUpper(input[count]);
                        Console.Write(Char.ToUpper(input[count]));
                    }
                    else
                    {
                        output += Char.ToLower(input[count]);
                        Console.Write(Char.ToLower(input[count]));
                    }
                }
                count++;

                if (count<input.Length)
                {
                    output += "-";
                    Console.Write("-");
                }
                
            }
            Console.WriteLine();
            return output;
        }


    }

}