Home

Archivos

Buscar

Categorías

Feeds:

RSS / Atom

TopCoder DietPlan· 4. December 2007, 22:42

Aquí va mi ejercicio de programación del día. Respuesta al problema DietPlan de TopCoder:

class DietPlan
    {
        public string chooseDinner(string diet, string breakfast, string lunch)
        {
            string yaComido, sobra, sobraSort="";
            sobra = diet; // no hemos comido nada
            yaComido = breakfast + lunch;
            for (int t = 0; t < yaComido.Length; t++)
            {
                int loc = sobra.IndexOf(yaComido[t]);
                if (loc != -1) // Encontrado
                {
                    sobra=sobra.Remove(loc, 1);
                }
                else
                {
                    return ("CHEATER");
                }
            }
            char[] sobraSortArr = sobra.ToCharArray();
            Array.Sort(sobraSortArr);
            foreach (char t in sobraSortArr)
        	{
		        sobraSort+=t;
	        }
            return sobraSort;
        }
    }
    class Tester
    {
        static void PresionaCualquierTecla()
        {
            Console.WriteLine("Presiona cualquier tecla para cerrar");
            int x = Console.Read();
        }
        static void Main(string[] args)
        {
            Console.WriteLine("INICIO");
            DietPlan dietTest = new DietPlan();
            Console.WriteLine("0 - {0}", dietTest.chooseDinner("ABCD", "AB", "C"));//D
            Console.WriteLine("1 - {0}", dietTest.chooseDinner("ABEDCS", "", ""));//ABCDES
            Console.WriteLine("2 - {0}", dietTest.chooseDinner("EDSMB", "MSD", "A"));//CHEATER
            Console.WriteLine("3 - {0}", dietTest.chooseDinner("", "", ""));//""
            Console.WriteLine("4 - {0}", dietTest.chooseDinner("IWANTSODER", "SOW", "RAT"));//DEIN
            PresionaCualquierTecla();
        }
    }