1. 오름차순 정렬
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Arrays;
public class Main{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int[] arr = new int[n]; // 입력받을 배열 선언
// 금액 입력받기
for(int i=0; i<n; i++){
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
long ans=0; // 최종값이 int형 범위를 넘어갈 수 있으므로 long으로 선언
for(int i=n-1, k=0; i>=0; i--, k++){
if(arr[i]-k > 0){
ans+=(arr[i]-k);
}
}
System.out.println(ans);
}
}
|
cs |
2. 내림차순 정렬
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.Arrays; import java.util.Collections; public class Main{public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Integer[] arr = new Integer[n]; // 참조로 for(int i=0; i<n; i++){ arr[i] = Integer.parseInt(br.readLine()); } Arrays.sort(arr,Collections.reverseOrder()); long ans=0; for(int i=0; i<n; i++){ if(arr[i]-i > 0){ ans+=(arr[i]-i); } } System.out.println(ans); } } | cs |
'백준 1 > 기타' 카테고리의 다른 글
| [백준 2630] 색종이 만들기 (C++/Python) (0) | 2023.07.14 |
|---|---|
| [백준 1780] 종이의 개수 (C++/Python) (0) | 2023.07.13 |
| [백준 2840] 행운의 바퀴 (Java) (0) | 2021.01.11 |
| [백준 5397] 키로거 (Java) (0) | 2021.01.11 |
| [백준 3273] 두 수의 합 (Java / Python) (0) | 2021.01.10 |