본문 바로가기

코딩테스트/백준

[백준-자바/파이썬] 1085번 직사각형에서 탈출 / 2021.09.30

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

 

1085번: 직사각형에서 탈출

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램

www.acmicpc.net

 

 

1. Java

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int x = sc.nextInt();
            int y = sc.nextInt();
            int w = sc.nextInt();
            int h = sc.nextInt();
            
            int distance1 = h-y;
            int distance2 = w-x;
            
            int min = distance1;
            if(min > distance2)
                min = distance2;
            if(min > x)
                min = x;
            if(min > y)
                min = y;
                        
            System.out.println(min);            
    }
}
cs

 

풀이 :

거리 비교만 하면 되는 간단한 문제이다. 

그림으로 나타내보면, 

 

 

1번 2번 3번 4번 직선의 길이를 비교해 가장 최솟값을 구해주면 된다.

2. Python

 

1
2
3
4
5
6
7
8
9
10
11
12
13
x, y, w, h = map(int, input().split(" "))
distance1 = h-y;
distance2 = w-x;
 
min = distance1
if min > distance2:
    min = distance2
if min > x:
    min = x;
if min > y:
    min = y;
 
print(min)
cs

 

풀이 :

자바와 같은 방식으로 단순 비교를 이용했다.