반응형
https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램
www.acmicpc.net
풀이
엄청 쉬운 문제라서 풀이라고 할 것도 없다.
주어진 변수는 총 4개
한수의 위치를 알려주는 x, y
우측 상단 꼭짓점을 알려주는 w, h
직사각형의 경계선까지 도달하는 최소 거리는 왼쪽, 오른쪽, 위, 아래 총 4가지이다.
x, y, w-x, y-h의 최솟값을 구하면 된다.
최소값을 구하는 방법은 Math.min 혹은 if-else문을 사용하면 된다.
필자는 Math.min을 사용했다.
import java.util.*;
import java.io.*;
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());
int x2 = Math.min(x, w-x);
int y2 = Math.min(y, h-y);
int dist = Math.min(x2, y2);
System.out.println(dist);
}
}
반응형
'알고리즘 > 구현 & 그리디 & 브루트포스' 카테고리의 다른 글
[백준]JAVA - 1002번: 터렛 (0) | 2022.09.28 |
---|---|
[백준]JAVA - 1652번: 누울 자리를 찾아라 (0) | 2022.09.26 |
[백준]JAVA - 1475번: 방 번호 (0) | 2022.09.22 |
[백준]JAVA - 1018번: 체스판 다시 칠하기 (0) | 2022.09.20 |
[백준]JAVA - 13305번: 주유소 (0) | 2022.09.16 |