Java
Grid
백준 11047

package 그리디;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class BOJ11047 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int answer = 0;
int n = scanner.nextInt();
int k = scanner.nextInt();
ArrayList<Integer> arrayList = new ArrayList<Integer>();
for(int i = 0; i<n; i++){
arrayList.add(scanner.nextInt());
}
Collections.reverse(arrayList);
for(int money : arrayList){
if(money <= k){
answer += (k / money);
k = (k % money);
}
}
System.out.println(answer);
}
}
백준 1931

package 그리디;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.StringTokenizer;
public class BOJ1931 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int answer = 0;
int n = Integer.parseInt(br.readLine());
ArrayList<Integer[]> arrayList = new ArrayList<Integer[]>();
for(int i = 0; i < n; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
int start = Integer.parseInt(st.nextToken());
int end = Integer.parseInt(st.nextToken());
Integer [] array = {start , end};
arrayList.add(array);
}
arrayList.sort(Comparator.comparingInt((Integer[] arr) -> arr[1]).thenComparingInt(arr -> arr[0]));
int lastEnd = arrayList.get(0)[1];
answer++;
for(int i = 1; i < n; i++){
Integer[] nextInfo = arrayList.get(i);
if(lastEnd <= nextInfo[0]){
answer++;
lastEnd = nextInfo[1];
}
}
System.out.println(answer);
}
}
백준 11399

package 그리디;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.StringTokenizer;
public class BOJ11399 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int answer = 0;
int sum = 0;
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
ArrayList<Integer> arrayList = new ArrayList<Integer>();
while(st.hasMoreTokens()){
Integer num = Integer.parseInt(st.nextToken());
arrayList.add(num);
}
arrayList.sort(Comparator.comparingInt((Integer arr) ->arr));
for(Integer a : arrayList){
sum += (a);
answer += (sum);
}
System.out.println(answer);
}
}