# 알고리즘 문제풀이&연습/[ BaekJoon ]

[허언증/코딩] 백준(Baekjoon)_11399_ATM_Grid(C++)

이론과 실습 사이 2019. 12. 16. 12:29
반응형

안녕하세요. 허언증 입니다.

 

저같은 경우 C++로  풀었습니다. 

python, Java로 안 풀었어요!!

 

문제 

 

11399번: ATM

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

www.acmicpc.net


 

 

백준(Baekjoon)_11399_ATM

 

#include <iostream>
#include <algorithm>
using namespace std;

const int MAX = 1000;

int main(void)
{
   int c_number;
   int array[MAX];
   int time = 0;
   
    cin >> c_number;
    for (int i = 0; i < c_number; i++){
        cin >> array[i];
   }
   
    sort(array, array + c_number); 
    for (int i = 0; i < c_number; i++){
        for (int j = 0; j <= i; j++){
        time += array[j];
      }
   }   
    cout << time << endl;
    return 0;
}

 

풀이

 

P1=3 / P2=1 / P3=4 / P4=3 / P5=2

 

순서

[1,2,3,4,5]

3 1 4 3 2

3 4 8 11 13 = 39

 

순서

[2 5 1 4 3]

1 2 3 3 4

1 3 6 9 13 = 32

 

두 번째 순서를 봤을 때 짧은 시간 순서대로 나열한 뒤

계산을 하면 최소 시간임을 짐작할 수 있다.

그래서 Sort를 이용해서 정렬 후 처리하는 코드를 만들었다.


한 번에 보기

 

 

MinKyungHwi/Baekjoon

C++ Study. Contribute to MinKyungHwi/Baekjoon development by creating an account on GitHub.

github.com

 

반응형