๋ฐ์ํ
https://www.acmicpc.net/problem/2012
์ฝ๋
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int B = 1; // ์ค์ ๋ฑ์
long sum = 0; // ๋ถ๋ง๋ ํฉ ์ต์๊ฐ
int[] arr = new int[N];
for(int i=0; i<arr.length; i++)
arr[i] = scan.nextInt();
Arrays.sort(arr);
for(int i=0; i<arr.length; i++) {
sum += Math.abs(arr[i] - (i+1));
}
System.out.println(sum);
scan.close();
}
}
ํ์ด
๊ฐ๋จํ ๋ฌธ์ ์๋ค. ๋ถ๋ง๋ ํฉ์ ์ต์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค.
๋ถ๋ง๋์ ํฉ์ด ์ต์๊ฐ ๋๋ ค๋ฉด ํ์์ด ์์ํ ๋ฑ์์ ์ค์ ๋ฑ์๊ฐ ์ต์๊ฐ์ด ๋๋๋ก ์ ํด์ฃผ๋ฉด ๋๋ค.
๋ฐ๋ผ์ ํ์์ด ์์ํ ๋ฑ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ , ์์๊ฒ๋ถํฐ 1๋ฑ, 2๋ฑ, 3๋ฑ, ... ๋นผ์ฃผ๋ฉด ๋๋ค.
* ๋ฌธ์ ์์ N์ ๋ฒ์๊ฐ 500,000 ์ธ๋ฐ, ๋ง์ฝ ๋ชจ๋ ํ์์ด ์์ ์ ๋ฑ์๋ฅผ 1๋ก ์์ํ ๊ฒฝ์ฐ,
|1-500,000| x 500,500 ์ด ๋์ด์ int์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ค.
๋ฐ๋ผ์ ๋ถ๋ง๋์ ์๋ฃํ์ long ์ผ๋ก ์ ์ธํ๋ค.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค[Java] - ๋น๋ฐ์ง๋ (0) | 2020.02.09 |
---|---|
[๋ฐฑ์ค] 3986๋ฒ: ์ข์ ๋จ์ด(๋ฌธ์์ด, ์คํ) (0) | 2020.02.09 |
[๋ฐฑ์ค] 3040๋ฒ: ๋ฐฑ์ค ๊ณต์ฃผ์ ์ผ๊ณฑ ๋์์ด (0) | 2020.02.07 |
[๋ฐฑ์ค] 2161๋ฒ: ์นด๋1(์๋ฎฌ๋ ์ด์ ) (0) | 2020.02.07 |
[๋ฐฑ์ค] 1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ(dfs, bfs) (0) | 2020.02.07 |
๋๊ธ