[Algorithm] BOJ_11399 (ATM) C#

BruteForceA·2023년 1월 11일
1
post-thumbnail

문제


입력 출력

입력
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)


출력
첫째 줄에 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 출력한다.

예제


예제 입력 1

5
3 1 4 3 2

예제 출력 1

32



설명


인출하는 속도가 빠른 사람먼저 앞으로 배치하게되면 시간이 가장 최소로 든다. 그렇기 때문에 정렬을 먼저 한 후
앞 사람부터 인출하는데 걸리는 시간을 누적하면 된다.


풀이 및 코드

 public class Boj11399
    {
        static void Main(string[] args)
        {
            // 입력받기
            int n = Convert.ToInt32(Console.ReadLine());
            string[] arr = Console.ReadLine().Split();

            // 입력받은 배열 int형 배열로 변환후 오름차순(Sort의 Default는 오름차순) 정렬한다.
            int[] intArray = arr.Select(int.Parse).ToArray();
            Array.Sort(intArray);

            int sum = 0;

           for(int i=0; i<intArray.Length; i++)
            {
              for(int j=0; j<i+1; j++)    
                {
                    sum += intArray[j];
                }
            }

            Console.WriteLine(sum);


        }
    }




출처

https://www.acmicpc.net/problem/11399

0개의 댓글