망나니 AWOS의 일상
article thumbnail

문제 요약 및 풀이

직사각형의 경계선까지 가는 거리의 최솟값을 구하라.

 

직사각형의 좌표 값이 0, 0과 w, h가 주어지는데 예제 입력 1을 예로 들면

0, 0 ------- 10, 3이 주어지고 

 

한수라는 애가 6, 2 지점에 있다고 생각하면 그림은 이렇게 그려진다. (오른쪽만 보면 된다)

왼쪽의 좌표평면은 문제 설명, 오른쪽의 좌표는 한수가 있는 지점

이 그림을 가지고 설명을 하자면 한수의 좌표를 중심으로 보면

상하좌우의 최솟값 중에 가장 작은 값이 직사각형의 경계선까지 가는 거리의 최솟값이라고 볼 수 있다.

 

값만 뽑아보자면, 1 2 4 6 이 되는데 이 값들을 식으로 표현하자면 밑의 표처럼 된다.

1 h-y
2 y-0 = y
4 w-x
6 x-0 = x

그중 최솟값인 1이 결과값으로 출력이 되는 것이다.

python에서 최솟값을 뽑아낼 수 있는 min()이라는 메서드를 쓰면 쉽게 구할 수 있다. 

 

map으로 여러 개의 값을 받아서 min메서드에 넣어주면 최솟값이 구해진다.

 

완성된 코드!!!👍😊

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

 

'알고리즘 > 백준' 카테고리의 다른 글

[python] 백준 1212번 8진수 2진수  (0) 2021.08.26
[python] 백준 1547번 공  (0) 2021.08.25
[python] 백준 2490번 윷놀이  (0) 2021.08.23
[python] 백준 1284번 집 주소  (0) 2021.08.21
[python] 백준 2576번 홀수  (0) 2021.08.15
profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!