본문 바로가기
코딩테스트 준비/백준

[백준] 1085번 - 직사각형에서 탈출 [Java]

by mwzz6 2024. 12. 5.

https://www.acmicpc.net/problem/1085

 

[백준] 1085번 - 직사각형에서 탈출 [Java]
[백준] 1085번 - 직사각형에서 탈출 [Java]


1.  아이디어

 

직사각형 각 변까지의 거리 중 최솟값을 찾는 문제로 좌우 이동에 대한 최솟값과 상하 이동에 대한 최솟값을 구해서 최종 최솟값을 구하는 방식으로 구현했다.


2. 문제풀이

 

경계까지 가는 최솟값은 쭉 한 방향으로 가는 것이므로 4가지 경우만 따지면 된다.

Math.min 메서드를 이용해서 한 줄로 간단하게 풀이했다.


3. 코드

 

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

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

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

        System.out.println(Math.min(Math.min(x, w - x), Math.min(y, h - y)));
    }
}

4. 후기