티스토리 뷰

728x90

문제

- 현재 한수의 위치 (x, y)에서 가장 가까운 변을 찾아 직사각형에서 탈출하는 문제

- 직사각형의 크기는 w x h

 

해결방법

현재 한수의 위치와 직사각형 사이의 거리(상, 하, 좌, 우)를 각각 계산하여 그 중에서 최소값을 찾아 출력하는 방식으로 코드를 작성하였다.

 

코드

import java.io.*;
import java.util.*;

class Main{
    static int x, y, w, h;
    static int result = Integer.MAX_VALUE;

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        x = Integer.parseInt(st.nextToken());
        y = Integer.parseInt(st.nextToken());
        w = Integer.parseInt(st.nextToken());
        h = Integer.parseInt(st.nextToken());

        escape(x, w-x, h-y, y);		// 좌, 우, 상, 하

        System.out.println(result);

        br.close();
    }

    static void escape(int left, int right, int up, int down){
    	// 최소값 찾기
        if(result>left) result = left;
        if(result>right) result = right;
        if(result>up) result = up;
        if(result>down) result = down;
    }
}
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday