백준
백준 2012 등수 매기기(Java)
Park DJ
2023. 2. 5. 01:35
https://www.acmicpc.net/problem/2012
2012번: 등수 매기기
첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에 걸쳐 각 사람의 예상 등수가 순서대로 주어진다. 예상 등수는 500,000 이하의 자연수이다.
www.acmicpc.net
해석 및 팁
이 문제는 실제등수와 예상등수의 차이를 최소화해야 하는 문제이므로 먼저 예상등수를 오름차순으로 정렬한 후에 빼주면 됩니다.
Java 코드
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long sum = 0;
int n = sc.nextInt();
int[] arr = new int[n + 1];
for(int i = 1; i <= n; i++) arr[i] = sc.nextInt();
Arrays.sort(arr);
for(int i = 1; i <= n; i++) sum += (Math.abs(arr[i] - i));
System.out.println(sum);
}
}