본문 바로가기

Problem Solving/Baekjoon Online Judge

<수학2> 1085번 직사각형에서 탈출 with 파이썬

 

문제

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

입력

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

출력

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

정답비율

 58.188%

 

x, y, w, h = map(int,input().split())
North = h - y
South = y - 0
West = x - 0
East = w - x
lst = [North, South, West, East]

# print(lst)
# [1, 2, 6, 4]

print(min(lst))

 

 제한으로 주어진 직사각형의 너비와 높이값이 매우 작아서 단순하게 코딩하면 되는 문제였다. 사실 너비와 높이값이 더 크더라도 시간제한에 걸릴 일은 없을 것 같다. 

 주어진 점에서 사방으로 모서리와의 차이 값을 구한다. 그리고 그 중 가장 짧은 값이 답이되는 문제였다. 이를 코드로 작성하기위해 각 사방의 변수에 값을 할당시켰고, 이들을 리스트에 넣었다. 그리고 min함수를 통해 가장 작은 값을 출력시켜주었다.

 

 


 

참고

 

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net