티스토리 뷰
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
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 1436번 영화감독 숌(JAVA) (0) | 2022.07.07 |
---|---|
[백준] 1259번 팰린드롬수(JAVA) (0) | 2022.07.07 |
[백준] 1181번 단어 정렬(JAVA) (0) | 2022.07.05 |
[백준] 1018번 체스판 다시 칠하기(JAVA) (0) | 2022.07.05 |
[백준] 11729번 하노이 탑 이동 순서(JAVA) (0) | 2022.07.01 |
댓글