[파이썬][백준 1085번] 직사각형에서 탈출
1. 문제
[Bronze III] 직사각형에서 탈출 - 1085
성능 요약
메모리: 30864 KB, 시간: 68 ms
분류
기하학(geometry), 수학(math)
문제 설명
한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 x, y, w, h가 주어진다.
출력
첫째 줄에 문제의 정답을 출력한다.
출처: 백준, https://https://www.acmicpc.net/
2. 해결방법 시간복잡도
- 단순 코딩 O(1)
3. 문제 해결 및 코드
-
주석을 참고하면서 이해를 돕습니다.
4. 알고리즘 및 해설
- 한수의 x, y값과 w, h값을 모두 받는다.
- 이때 길이는 양수이므로 오른쪽 꼭지값의 x값, y값(왼쪽 아래보다 크므로) - 왼쪽 아래 꼭지값의 x값, y값을 구한다.
- 이후 x값과 y값에 절대값을 붙여 양수로 변환한다.
- if문을 통해 경우의 수를 계산하여 답을 도출한다.
5. 짚고 넘어가기
- abs()함수를 통해 보다 쉽게 절대값으로 바꿀 수 있다.