백준 BaekJoon Online Judge // 1085
2021. 1. 22. 16:10ㆍProgramming/BOJ
백준 알고리즘 BaekJoon Online Judge 1085번 "직사각형에서 탈출" 문제입니다.
import sys
x, y, w, h = map(int, sys.stdin.readline().split())
print(min((abs(x-w), abs(x), abs(y-h), abs(y))))
현재 (x, y) 좌표일 때, (0,0)으로 시작해서 (w,h) 좌표로 끝나는 직사각형의 테두리까지 가는 최소 거리를 구하는 문제다.
최소 거리이기 때문에 가로 혹은 세로 직선거리라고 추측할 수 있다.
가로로 따질 경우는 두 가지를 따져야 한다. w-x와 x-0 둘 중 작은 것을 골라야하고
세로로 따질 경우는 h-y와 y-0 둘 중 작은 것을 골라야한다.
결국 w-x, x-0, h-y, y-0 넷 중 가장 작은 것을 고르는 경우이므로 min 함수를 이용해서 풀 수 있다.
'Programming > BOJ' 카테고리의 다른 글
백준 BaekJoon Online Judge // 4153 (0) | 2021.01.23 |
---|---|
백준 BaekJoon Online Judge // 3009 (0) | 2021.01.22 |
백준 BaekJoon Online Judge // 9020 (0) | 2021.01.22 |
백준 BaekJoon Online Judge // 4948 (0) | 2021.01.21 |
백준 BaekJoon Online Judge // 11653 (0) | 2021.01.21 |