백준 11399_ATM.cpp

hello_hidi·2021년 7월 25일
0

baekjoon_C++

목록 보기
31/33
post-thumbnail

<소스코드>

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int n;
    int time = 0;
    cin >> n;
    int atm[n];
    for(int i = 0; i < n; i++){
        cin >> atm[i];
    }
    sort(atm, atm+n); //배열의 정렬 배열이름, 배열이름 + 배열의 크기
    for(int i = 0; i < n; i++){
        for(int j = 0; j <= i; j++){
            time+=atm[j];
        }
    }
    cout << time << endl;
    return 0;
}
  1. 변수&함수
    int n : 사람의 수
    int time : 인출하는 총 시간
    int atm[n] : 각 사람의 인출 시간
  1. 알고리즘
    1) 각 사람의 인출하는 시간이 짧은 사람이 먼저 인출을 해야한다. 왜냐하면 뒤에 사람들은 앞 사람의 인출시간을 기다려야 하기 때문이다. 그래서 오름차순 정리를 한다
    ex) 12345: 3번이 기다리는 시간 : 1+2+3 = 6
    54321 : 3번이 기다리는 시간 : 5+4+3 = 12
    2) 정렬한 후 각 사람이 기다리는 시간을 더해서 출력한다.
  1. 배운점
    배열 sort
    => sort(시작지점, 끝나는 지점+1)
    => sort(배열의 포인터, 배열의 포인터 + 배열의 크기)
    ex) int a[100] -> sort(a,a+100);
  1. 아쉬운점&느낀점
    easy했따!
profile
안뇽희디

0개의 댓글