jyamethyst21 님의 블로그

백준 1085번 - 직사각형에서 탈출 (PYTHON 풀이) 본문

CODING 💻

백준 1085번 - 직사각형에서 탈출 (PYTHON 풀이)

jyamethyst21 2025. 9. 8. 23:28

문제:

 

처음에 문제 이해가 잘 가지 않아서 이해하는데 시간이 좀 걸렸다.

나처럼 이해가 어려웠던 분들을 위해 솜씨없지만 그림을 그려보았다.

 

문제에서는 x,y,w,h값을 순서대로 입력받는다. 그 후 (x,y) 위치를 기준으로 노란색 줄 부분의 길이를 거쳐 파란색 변에 닿을 수 있는 경우의 수 중 가장 짧은 거리인 것을 구하라는 문제이다. 이렇게 그림을 그리면 바로 풀 수 있다.

 

풀이:

x,y,w,h=map(int,input().split())
print(min(x,y,h-y,w-x))

코드를 보다시피 엄청 단순하다.

입력받는 부분은 설명을 생략하고, 그림에서 보다시피 노란색 줄 부분 중 가장 작은 수를 구하면 되기 때문에 min 함수를 활용하였다. 노란색 부분은 다음과 같다.

1. x의 길이, 2. y의 길이, 3. h-y의 길이, 4. w-x의 길이  (상기 이미지 상 넘버링한 부분과 동일하다.)

 

수학 문제는 이렇게 도형을 그리면 좀 더 쉽게 코드를 짤 수 있는 것 같다.