study/CodingTest
백준 1085 직사각형에서 탈출(Java)
고기만두(개발자)
2022. 1. 3. 18:45
728x90
반응형
https://www.acmicpc.net/problem/1085 문제출처
제한 에서 모든 예외처리가 되어있어서 사실 생각할 게 많지 않다.
가로 x, 세로 y짜리 직사각형의 변에 닿을 직선거리는
가로 측면에서는 y축에 닿는 w, y축과 평행하는 변에 닿을 (x-w)
세로 측면에서는 x축에 닿는 h, x축과 평행하는 변에 닿을 (y-h)
이 4개 중 가장 짧은 거리를 Math.min()으로 비교하면 되는데 역시 토너먼트가 깔끔하다.
가로 2개끼리, 세로 2개끼리 비교하면 끝
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));
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());
int width_min = Math.min(x, w-x);
int height_min = Math.min(y, h-y);
int total_min = Math.min(width_min, height_min);
System.out.println(total_min);
}
}
728x90
반응형