본문 바로가기
백준

[백준] 1085번 : 직사각형에서 탈출 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 11.
728x90
반응형

 

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. 현재 위치 좌표와 직사각형의 오른쪽 위 꼭짓점 좌표를 입력받는다. x, y, w, h = map(int, sys.stdin.readline().split())
  2. 현재 위치에서 직사각형 경계선까지의 가로와 세로 거리를 저장한다. length = x  width = y
  3. 만약 현재 위치에서 직사각형 경계선까지 오른쪽 가로 거리가 더 짧으면 if (x > w - x)
  4. 직사각형 경계선까지의 가로 거리를 오른쪽 가로 거리로 수정한다. length = w - x
  5. 만약 현재 위치에서 직사각형 경계선까지 위쪽 세로 거리가 더 짧으면 if (y > h - y)
  6. 직사각형 경계선까지의 세로 거리를 위쪽 세로 거리로 수정한다. width = h - y
  7. 만약 직사각형 경계선까지의 가로 길이가 세로 길이보다 더 길면 if (length > width)
  8. 세로 길이를 출력한다. print(width)
  9. 반면에 가로 길이가 짧거나 같으면 가로 길이를 출력한다. else: print(length)
반응형

3. 소스코드

import sys

x, y, w, h = map(int, sys.stdin.readline().split())

length = x
width = y

if (x > w - x):
    length = w - x
if (y > h - y):
    width = h - y

if (length > width):
    print(width)
else:
    print(length)
728x90
반응형