# 1) 프로그래밍/프로그래밍챌린지

Chapter 01. Q3. 여행... ㅡ.,ㅡ?

이꼬모꼬 2014. 7. 4. 00:19

 

 문제도 이해가 안되고 풀이봐도 이해가 안되네...

 

검색해봤더니 푼사람이 있다..

 

헉... ㅡ.,ㅡ;;???

 

나누기 2는 대체 왜 하는거지???

소스 코드를 훑어보고 코드를 쳐봤따 .

 

 

static void Main(string[] args)
        {
           /*문제가 이해가 안되!!*/

           /*
                 여행을 가는 사람들이 지출비용을 관리함.
           *  전달될 돈이 똑같게 하기 위한... ( 어렵다... 뭐라는지... )
           */
            
            List<double> moneys = new List<double>();
            moneys.Add(10d);
            moneys.Add(20d);
            moneys.Add(30d);
            Draw(moneys);
            Calc(moneys);
            moneys.Clear();
            moneys.Add(15d);
            moneys.Add(15.1d);
            moneys.Add(3d);
            moneys.Add(3.1d);
            Draw(moneys);
            Calc(moneys);
            Console.ReadLine();
        }

        private static void Calc(List<double> moneys)
        {
            double avg = moneys.Average();
            double result = 0d;
            moneys.ForEach(m =>
            {
                result += Math.Abs((int)((m - avg) * 100d) / 100.0d);//소수점 자리 버림.
            });
            Console.WriteLine( "Result: "+ ( result / 2d ).ToString("N2")); // 대체 왜 /2를 하는걸까? 주고 받고?
        }

        private static void Draw(List<double> moneys)
        {
            Console.WriteLine(moneys.Count);
            moneys.ForEach(m => Console.WriteLine(m.ToString("N2")));
        }