https://www.acmicpc.net/problem/1758
1758번: 알바생 강호
첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같
www.acmicpc.net
저는 정렬을 통해 문제를 풀었습니다.
내림차순으로 정렬하여 최대한 빼는 수를 적게 하여 풀었습니다.
package BOJ.greedy;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
public class BOJ_1758 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
Integer[] tip = new Integer[n];
for(int i = 0 ; i < n ; i++){
tip[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(tip, Collections.reverseOrder());
long sum = 0;
for(int i = 0 ; i < n ; i++){
int money = Math.max(tip[i]-i,0);
sum += money;
}
System.out.println(sum);
}
}
'알고리즘' 카테고리의 다른 글
백준 14916번 거스름돈 (JAVA) (0) | 2024.01.16 |
---|---|
백준 2217번 로프 (JAVA) (0) | 2024.01.15 |
백준 2164번 카드2 (JAVA) (1) | 2024.01.13 |
백준 6497번 전력난 (JAVA) (0) | 2024.01.12 |
백준 16398번 행성 연결 (JAVA) (1) | 2024.01.11 |