๋ฐ์ํ
ใ https://www.acmicpc.net/problem/2399
์ฝ๋
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int N = scan.nextInt();
int[] x = new int[N];
long allDistance = 0; // ๋ชจ๋ ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ ๊ฐ
for(int i=0; i<N; i++)
x[i] = scan.nextInt();
for(int i=0; i<x.length; i++)
for(int j=0; j<x.length; j++)
allDistance += Math.abs(x[i]-x[j]);
System.out.println(allDistance);
scan.close();
}
}
ํ์ด
๋ฌธ์ ๋ง ์ดํดํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐ ํ ์ ์๋ค.
n^2๊ฐ์ ๋ชจ๋ ์์ ๋ํด์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ ๊ฐ์ด๋ฏ๋ก.
x์ ์ขํ๊ฐ 1 5 3 2 4 ์ผ๋,
์ฒ์๋ถํฐ ๋ชจ๋ ์๋ฅผ ๋ฐ๋ณตํ๋ฉฐ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ ๋ํด์ฃผ๋ฉด ๋๋ค.
x์ ์ขํ๊ฐ 1์ผ๋...
1 ~ 5์ ๊ฑฐ๋ฆฌ : 4
1 ~ 3์ ๊ฑฐ๋ฆฌ : 2
1 ~ 2์ ๊ฑฐ๋ฆฌ : 1
1 ~ 4์ ๊ฑฐ๋ฆฌ : 3
4+2+1+3 = 10
์์ ๊ฐ์ด ๋ชจ๋ ์ขํ์ ๋ํด ๋ค๋ฅธ ์ขํ๋ค๊ณผ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํด์ ๋ํด์ค๋ค.
๋ฌธ์ ์์ x ์ขํ์ ๋ฒ์๊ฐ 0 ์ด์ 1,000,000,000 ์ด๋ฏ๋ก,
๋ชจ๋ ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ ๊ฐ์ int๊ฐ ์๋ long ์ผ๋ก ์ ์ธํด์ค์ผ ํ๋ค.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1049๋ฒ: ๊ธฐํ์ค(๊ทธ๋ฆฌ๋, ๊ตฌํ) (0) | 2020.02.03 |
---|---|
[๋ฐฑ์ค] 1543๋ฒ: ๋ฌธ์ ๊ฒ์(๊ทธ๋ฆฌ๋, ์์ ํ์) (0) | 2020.02.03 |
[๋ฐฑ์ค] 1946๋ฒ: ์ ์ ์ฌ์(๊ทธ๋ฆฌ๋, ์ ๋ ฌ) (0) | 2020.01.29 |
[๋ฐฑ์ค] 2903๋ฒ: ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ (0) | 2020.01.29 |
[๋ฐฑ์ค] 1080๋ฒ: ํ๋ ฌ(๊ทธ๋ฆฌ๋) (0) | 2020.01.28 |
๋๊ธ