https://www.acmicpc.net/problem/2012
[풀이]
sum 변수의 자료형을 int로 해서 틀렸는데 이 부분을 주의해야 할 것 같다. 다른 분들의 풀이를 봐도 코드에서는 큰 차이가 없었지만 int 와 long타입으로 인해 실패를 겪으신 분들이 많은 것 같다.
아래 사이트에서 이와 관련한 정보를 얻을 수 있다.
- https://www.acmicpc.net/board/view/19589
정렬 후, 절대값을 이용하여 풀기 때문에 문제 자체에 큰 어려움은 없었다고 생각한다.
[코드]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bufferedReader.readLine());
int[] arr = new int[N];
long sum = 0;
for (int i = 0; i < arr.length; i++) {
arr[i] = Integer.parseInt(bufferedReader.readLine());
}
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
sum += Math.abs(arr[i] - (i + 1));
}
System.out.println(sum);
}
}
'Algorithm > 백준' 카테고리의 다른 글
백준 9935번 : 문자열 폭발(Java) (0) | 2021.07.26 |
---|---|
백준 1157번 : 단어 공부(Java) (0) | 2021.07.25 |
백준 1927번 : 최소 힙(Java) (0) | 2021.07.22 |
프로그래머스 : 숨바꼭질(Java) (0) | 2021.07.21 |
백준 2606번 : 바이러스(Java) (0) | 2021.07.16 |