728x90
https://www.acmicpc.net/problem/1085
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
www.acmicpc.net
직사각형의 가로세로값과 현재 위치를 알려주고 탈출하는데에 가장 최솟값을 구하는 문제이다
# 1085번 문제 : 직사각형에서 탈출
# 현재위치와 직사각형의 크기가 주어지고 경계선까지 가는 거리의 최솟값을 구하는문제
x,y,w,h=map(int,input().split()) # 현재 위치(x,y), 직사각형 오른쪽위 꼭짓점(w,h) +왼쪽아래 꼭짓점은 (0.0)
answer=min(x, y, (w-x), (h-y)) # 직사각형의 w는 가로 h는 세로이며 현재 위치를 빼주면 남은 길이를 알수있고 혹은 기존 x,y가 더 작을경우 그 값자체가 최솟값이 된다
print(answer)
복잡할줄 알았던 문제였지만 풀이에 대해 고민해보니 w-x 와 h-y 중 작은게 정답이라는 생각으로 풀었고 오답이나와서 더 생각해보니 x나 y가 w-x, h-y와 비교해서 더 작을 경우 그것이 정답이라는 사실을 알았고 문제를 해결할 수 있었다
728x90
'알고리즘' 카테고리의 다른 글
| 백준의 알고리즘 4153번 문제(python) (0) | 2021.06.30 |
|---|---|
| 백준의 알고리즘 3009번 문제(python) (0) | 2021.06.29 |
| 백준의 알고리즘 4344번 문제(python) (0) | 2021.06.27 |
| 백준의 알고리즘 8958번 문제(python) (0) | 2021.06.26 |
| 백준의 알고리즘 3052번 문제(python) (0) | 2021.06.25 |