코딩테스트/백준

직사각형에서 탈출 Python(백준, 1085)

멍토 2020. 8. 11.

난이도 : Bronze 3

문제번호 : 1085

문제 주소 및 출처입니다.

www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net


목차

1. 문제 설명

2. 문제 해석

3. 소스 코드


1. 문제 설명

한수는 지금 (x, y)에 있다.

직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다.

직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 x, y, w, h가 주어진다.

출력

첫째 줄에 문제의 정답을 출력한다.

제한

  • 1 ≤ w, h ≤ 1,000
  • 1 ≤ x ≤ w-1
  • 1 ≤ y ≤ h-1
  • x, y, w, h는 정수

 


2. 문제풀이

직사각형에서 제일 가까운 경계로 나가면 풀리는 문제이다.


1. x축 기준으로 0에서 x와의 거리와 x에서 w까지 거리를 구한다. -> (x - 0, w - x) -> (x, w - x)

2. y축 기준으로 0에서 y와의 거리와 y에서 h까지의 거리를 구한다.-> (y - 0, h - y) - > (y, h - y)

3. 이중에서 제일 작은값을 가지는 값을 출력하면 되는 문제이다.


3. 소스코드

x, y, w, h = map(int, input().split())
distance = [x, y, w-x, h-y]
 
print(min(distance))

댓글

💲 광고입니다.