작성일 :

문제 링크

1085번 - 직사각형에서 탈출

설명

입력으로 주어지는 위치에서 직사각형의 경계선까지의 최소 거리를 구하는 문제입니다.

직사각형의 경계선까지의 거리는 4가지의 경우가 있습니다.

  • 왼쪽으로 이동하는 거리 : x
  • 오른쪽으로 이동하는 거리 : w - x
  • 아래로 이동하는 거리 : y
  • 위로 이동하는 거리 : h - y


위의 경우 중에서 최솟값으로 계산된 값을 선택하면 됩니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var input = Console.ReadLine()!.Split(' ');

      var x = int.Parse(input[0]);
      var y = int.Parse(input[1]);
      var w = int.Parse(input[2]);
      var h = int.Parse(input[3]);

      var minDist = Math.Min(Math.Min(x, y), Math.Min(w - x, h - y));

      Console.WriteLine(minDist);

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>

using namespace std;

int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  int x, y, w, h; cin >> x >> y >> w >> h;

  int minDist = min({x, y, w - x, h - y});

  cout << minDist << "\n";

  return 0;
}