ALGORITHM πŸ€–/Baekjoon

λ°±μ€€ - 2012

daxx0ne 2023. 4. 30. 14:53

https://www.acmicpc.net/problem/2012

 

2012번: λ“±μˆ˜ λ§€κΈ°κΈ°

첫째 쀄에 μžμ—°μˆ˜ N이 μ£Όμ–΄μ§„λ‹€. (1 ≤ N ≤ 500,000) λ‘˜μ§Έ 쀄뢀터 N개의 쀄에 걸쳐 각 μ‚¬λžŒμ˜ μ˜ˆμƒ λ“±μˆ˜κ°€ μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§„λ‹€. μ˜ˆμƒ λ“±μˆ˜λŠ” 500,000 μ΄ν•˜μ˜ μžμ—°μˆ˜μ΄λ‹€.

www.acmicpc.net

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] expectRank = new int[n]; // μ˜ˆμƒ λ“±μˆ˜λ₯Ό 담을 λ°°μ—΄
        long disSat = 0; // μ΅œμ†Œ λΆˆλ§Œλ„μ˜ ν•©
        for (int i = 0; i < n; i++) {
            expectRank[i] = sc.nextInt();
        }
        Arrays.sort(expectRank); // μ˜ˆμƒ λ“±μˆ˜λ₯Ό μ˜€λ¦„μ°¨μˆœ μ •λ ¬
        for (int i = 0; i < n; i++) {
            disSat += Math.abs(expectRank[i] - (i+1)); //  (|A - B|) λΆˆλ§Œλ„μ˜ 총 합을 μ΅œμ†Œλ‘œ ν•˜κΈ°
        }
        System.out.println(disSat);
    }
}