ATM

이윤설·2024년 2월 8일

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

제출코드(정답)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) throws IOException{
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String input1 = br.readLine();
            String input2 = br.readLine();
            String[] strArray = input2.split(" ");

            ArrayList<Integer> list = new ArrayList<>();
            int peopleCount = Integer.parseInt(input1);
            for (String str : strArray) {
                int number = Integer.parseInt(str);
                list.add(number);
            }

            Collections.sort(list);
            int result = 0;
            int prev = 0;

            for (int i = 0; i < list.size(); i++) {
                prev += list.get(i);
                result += prev;
            }
            System.out.println(result);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

모범답안

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
   	
    	int humans = Integer.parseInt(br.readLine());
    	StringTokenizer st = new StringTokenizer(br.readLine());
    	int time[] = new int[humans];
   	
    	for (int i = 0; i < humans; i++) {
    		time[i] = Integer.parseInt(st.nextToken());
		}
   	
    	int sum = 0;
    	int totalSum = 0;
  	
    	Arrays.sort(time);
   
    	for (int i = 0; i < humans; i++) {
			sum += time[i];
			totalSum += sum;
		}
   	
    	bw.write(String.valueOf(totalSum));
  	
    	bw.close();
    	br.close();
    }
}

로직은 크게 다른게 없다.

정리

  1. System.out.println() 대신 bw.write()를 작성하자.

  2. BufferedReader, BufferedWrtier 사용 종료 후 close()를 작성하자.

profile
화려한 외면이 아닌 단단한 내면

0개의 댓글