[Baekjoon 11399번] ATM 문제 (with 자바)

반응형
728x90
반응형

문제

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

 

11399번: ATM

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

www.acmicpc.net

 

 

 

풀이코드

package com.algorithm._00_._Current;

import java.util.Arrays;
import java.util.Scanner;
import java.util.stream.IntStream;

/**
 * @Date 2022/04/14
 * @URL https://www.acmicpc.net/problem/11399
 */
public class A11399_ATM {
    static int N;
    static int arr[];
    static int result[];

    public static void main(String[] args) {
        // write your code here
        A11399_ATM main = new A11399_ATM();
        main.solution();
    }

    public void solution() {
        input();

        // 오름차순 정렬
        Arrays.sort(arr);

        /* 0번째 셋팅 */
        result[0] = arr[0];
        for (int i = 1; i < arr.length; i++) {
            /* result update (이전의 총 합 + 현재의 타겟) */
            result[i] = result[i - 1] + arr[i];
        }

        int sum = Arrays.stream(result).sum();
        System.out.println(sum);
    }

    private void input() {
        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();

        arr = new int[N];
        result = new int[N];

        /* 인접행렬 생성 */
        for (int i = 0; i < N; i++) {
            arr[i] = sc.nextInt();
        }
    }
}

 

1) 오름차순 정렬

2) result 배열에 각 인덱스별 총합 구하기

3) reulst 배열의 총합 구하기 

 

 

 

 

반응형

Designed by JB FACTORY