
이번 문제는 경계선까지 가장 가까운 직선 거리를 구하는 것이다. 사각형 안에서 밖으로 나가려면 4개의 벽 중 하나로 직선 이동하면 되는 것이다.
더보기
현재 위치: (x, y)
- 왼쪽 벽까지 거리 → x
- 아래쪽 벽까지 거리 → y
- 오른쪽 벽까지 거리 → w - x
- 위쪽 벽까지 거리 → h - y
이 4개 중 최소값 구하면 해결된다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp3
{
internal class geometry1
{
static void Main(string[] args)
{
//백준 1085 직사각형에서의 탈출
//한수의 위치(x, y), 왼쪽 아래 꼭짓점(0, 0), 오른쪽 위 꼭짓점(w, h) -> 4개의 벽 중 하나로 직선 이동해 최소값 구하기
string[] input = Console.ReadLine().Split();
int x = int.Parse(input[0]);
int y = int.Parse(input[1]);
int w = int.Parse(input[2]);
int h = int.Parse(input[3]);
// 네 방향(왼쪽, 오른쪽, 아래, 위) 벽까지 거리 중 최소값
int result = Math.Min(
Math.Min(x, w - x), // 왼쪽(x)과 오른쪽(w - x) 벽까지 거리 중 더 가까운 값
Math.Min(y, h - y)); // 아래(y)와 위쪽(h - y) 벽까지 거리 중 더 가까운 값
Console.WriteLine(result);
}
}
}

'코딩 테스트 > 백준' 카테고리의 다른 글
| 백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 15894 수학은 체육과목 입니다. (0) | 2026.03.30 |
|---|---|
| 백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 3009 네 번째 점 (0) | 2026.03.30 |
| 백준 - [단계별로 풀어보기 기하 1: 직사각형과 삼각형] 27323 직사각형 (0) | 2026.03.29 |
| 백준 - [단계별로 풀어보기 약수, 배수와 소수 1] 11653 소인수 분해 (0) | 2026.03.29 |
| 백준 - [단계별로 풀어보기 약수, 배수와 소수 1] 2581 소수 (0) | 2026.03.28 |