상세 컨텐츠

본문 제목

[백준/Python] 1085 : 직사각형에서 탈출

코딩테스트/백준

by 기며니 2021. 5. 20. 15:44

본문

728x90
728x90

✅ 문제 설명

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

 

🟦 입력

첫째 줄에 x, y, w, h가 주어진다.

 

🟪 출력

첫째 줄에 문제의 정답을 출력한다.

 

🔎 제한 사항

  • 1 ≤ w, h ≤ 1,000
  • 1 ≤ x ≤ w-1
  • 1 ≤ y ≤ h-1
  • 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

 

1085번: 직사각형에서 탈출

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

www.acmicpc.net

 

728x90
728x90

관련글 더보기

댓글 영역