한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
첫째 줄에 x, y, w, h가 주어진다.
첫째 줄에 문제의 정답을 출력한다.
예제 입력1: 6 2 10 3 이기 때문에 좌표평면을 그려서 직사각형을 그렸습니다
그리고 나서보니 위, 아래, 좌, 우의 길이를 담은 배열을 생성해 작은 값을 리턴하기로 했습니다.
최솟값인 1을 구했습니다.
x, y, w, h = map(int, input().split())
# up down left right 담은 배열 생성
direction = [h-y, y, x, w-x]
print(min(direction)) # 최솟값 출력
처음에 문제를 봤을 때 당황스러웠으나 그림을 그려 풀다보니 쉽게 느껴졌습니다.
무작정 코드를 짜는 것보단 먼저 손으로 로직을 그려보는 것이 좋을 것 같습니다.
https://www.acmicpc.net/problem/1085
[백준/Python] 3059 : 등장하지 않는 문자의 합 (0) | 2021.05.25 |
---|---|
[백준/Python] 2495 : 연속구간 (0) | 2021.05.24 |
[백준/Python] 1919 : 애너그램 만들기 (0) | 2021.05.23 |
[백준/Python] 1267 : 핸드폰 요금 (0) | 2021.05.22 |
[백준/Python] 1547 : 공 (0) | 2021.05.21 |
댓글 영역