[백준/BOJ] 백준 11399번 : ATM
2020. 6. 6. 13:50ㆍ알고리즘 문제풀이
https://www.acmicpc.net/problem/11399
그리디 알고리즘을 통해 문제를 해결하였다.
필요한 시간의 합이 최소가 되려면, 줄을 설 때, 오름차순으로 줄을 서서 시간이 짧은 것부터 돈을 인출하게 해야 된다.
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
vector<int> input;
int n;
int temp;
int tempsum = 0;
int sum = 0;
cin >> n;
for (int i = 0; i < n; i++)
{
//각 사람이 돈을 인출하는데 걸리는 시간을 입력
cin >> temp;
input.push_back(temp);
}
//오름차순으로 정렬
sort(input.begin(), input.end());
for (int i = 0; i < n; i++)
{
tempsum += input[i];
sum += tempsum;
}
cout << sum;
return 0;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 1931번 : 회의실배정 (0) | 2020.06.08 |
---|---|
[백준/BOJ] 백준 11047번 : 동전 0 (0) | 2020.06.07 |
[백준/BOJ] 백준 1018번 : 체스판 다시 칠하기 (0) | 2020.06.05 |
[백준/BOJ] 백준 1966번 : 프린터 큐 (0) | 2020.06.05 |
[백준/BOJ] 백준 14888번 : 연산자 끼워넣기 (0) | 2020.06.04 |