시간 & 메모리 제한
문제
입력 & 출력
그리디 알고리즘을 이용한 문제풀이
package com.Back;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Back_11399 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] arr = new int[N];
int ans=0;
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
arr[i]=Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
int temp=0;
for (int i = 0; i < N; i++) {
temp+=arr[i];
ans+=temp;
}
System.out.println(ans);
}
}
- 이 문제는 필요한 시간의 최솟값을 출력하는 문제입니다. 이때 최솟값이 되는 경우를 알아야 합니다.
- 최솟값이 되는 경우는 가장 적은 시간 부터 해결하면 되는 문제입니다.
- 적은 수부터 처리하기 위해 오름차순이 필요했고, Arrays.sort를 사용하면 오름차순으로 정리가 됩니다.
'Algorithm > 백준 알고리즘' 카테고리의 다른 글
백준_2846 오르막길(자바) / 구현 (0) | 2021.05.05 |
---|---|
백준_5557 1학년(자바) / DP (0) | 2021.05.04 |
백준_1697 숨바꼭질(자바) / BFS & DFS (0) | 2021.05.02 |
백준_1620 나는야 포켓몬 마스터 이다솜(자바)/ 자료구조 (0) | 2021.05.01 |
백준_15684 사다리 조작(자바) / 브루트포스 (0) | 2021.04.30 |