hahn

단계별로 풀어보기(기본 수학2 - 직사각형에서 탈출) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(기본 수학2 - 직사각형에서 탈출)

hahn 2021. 8. 24. 20:28
728x90
반응형

1085번: 직사각형에서 탈출 (acmicpc.net)

 

1085번: 직사각형에서 탈출

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램

www.acmicpc.net

틀린 코드

더보기
import java.util.Scanner;

class Main{
    
    public static void main(String[] args){
        
        Scanner sc = new Scanner(System.in);
        
        int result = 1001;
        
        String[] arr  = sc.nextLine().split(" ");
        
        for(int i = 0; i < arr.length; i++) {
        	
        	for(int j = (i + 1); j <arr.length; j++) {
        		
        		if(result > Math.abs(Integer.parseInt(arr[i]) - Integer.parseInt(arr[j]))) result = Math.abs(Integer.parseInt(arr[i]) - Integer.parseInt(arr[j]));
        		
        	}
        	
        }
        
        System.out.println(result);
        
    }
    
}

음 왜 틀렸더라?

 

기억이 안 난다.

더보기
import java.util.Scanner;

class Main{
    
    public static void main(String[] args){
        
        Scanner sc = new Scanner(System.in);
        
        int result = 1001;
        
        String[] arr  = sc.nextLine().split(" ");
        
        int[] intArr = new int[6];
        
        for(int i = 0; i < arr.length; i++) {
        	
        	intArr[i+2] = Integer.parseInt(arr[i]);
        	
        }
        
        for(int i = 0; i < 4; i++) {
        	
        	if(result > Math.abs(intArr[i] - intArr[i + 2])) result = Math.abs(intArr[i] - intArr[i + 2]);
        	
        }
        
        System.out.println(result);
        
    }
    
}

아마 int [] 생성하면 default 0 들어가는 거 이용했던 거 같다.

 

절댓값 중 최소 값 구해서 출력하면 됐을듯?

728x90
반응형