Baekjoon Online

[11399]: ATM

E.W.I 2021. 7. 12. 16:37
반응형

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

 

11399번: ATM

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

www.acmicpc.net

 

 

 

[문제 풀이]

 

1. 각 사람마다 돈을 인출하는 시간이 적은 순으로 정렬을 한다.

2. 대기시간+처리시간을 시간의 합을 의미하는 sum변수에 집어넣어 줍니다.

 

 

 

#include <stdio.h>
int main(void)
{
    int n, sum = 0, swap;
    int arr[1000];
    scanf("%d"&n);
    for (int i = 0; i < n; i++)
    {
        scanf("%d"&arr[i]);
 
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                swap = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1= swap;
 
            }
        }
    }
    // 1 2 3 3 4
    for (int i = 0; i < n; i++)
    {
 
        for (int j = 0; j <=i; j++)
        {
            sum += arr[j];
        }
    }
    printf("%d", sum);
 
    return 0;
}
cs

 

그리디 알고리즘의 예이며, cpu 스케줄링과 관련된 문제라 쉽게 풀 수 있었다.

'Baekjoon Online' 카테고리의 다른 글

[4673번]: 셀프 넘버  (0) 2021.07.06
[2798번]: 블랙잭  (0) 2021.07.05
[1978]: 소수 찾기  (0) 2021.07.05
[10872번]: 팩토리얼  (0) 2021.07.05
[1152번]: 단어의 개수  (0) 2021.07.03