개발자 톡
java 정답 코드 공유 드립니다.
- 등록일
- 2024-10-22 11:40:10
- 조회수
- 122
- 작성자
- kmg1123ck
곰곰히 생각해보니 오름차순 정렬 한뒤에 가운데 값을 기준으로 계산을 하면 되겠더라구요.ㅎ
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[][] map = new int[3][3];
StringTokenizer st;
for(int i=0; i<3; i++) {
st = new StringTokenizer(br.readLine());
for(int j=0; j<3; j++){
map[i][j] = Integer.parseInt(st.nextToken());
}
}
int[][] farm = map.clone();
int min = 999999999;
int size = farm.length;
for(int i =0; i < size; i++) {
int[] x = farm[i];
int[] y = new int[3];
for(int j = 0; j < size; j++) {
y[j] = farm[j][i];
}
Arrays.sort(x);
Arrays.sort(y);
int xCnt = Math.abs(x[1] - x[0]) + Math.abs(x[1] - x[2]);
int yCnt = Math.abs(y[1] - y[0]) + Math.abs(y[1] - y[2]);
min = min < xCnt && min < yCnt ? min : xCnt < yCnt ? xCnt : yCnt;
}
System.out.println(min);
}
}