작성일 :

문제 링크

3009번 - 네 번째 점

설명

입력으로 주어지는 세 점을 이용하여 축에 평행한 직사각형을 만들 때, 필요한 네 번째 점을 찾는 문제입니다.

축에 평행한 직사각형을 만들기 위해서는 네 점의 x 좌표와 y 좌표 각각이 2 개 씩 동일해야 합니다.

즉, 각각의 x 좌표와 y 좌표를 확인하여, 한 번만 등장하는 좌표가 네 번째 점의 좌표가 됩니다.


Code

[ C# ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
namespace Solution {
  class Program {
    static void Main(string[] args) {

      var x = new int[3];
      var y = new int[3];
      for (int i = 0; i < 3; i++) {
        var input = Console.ReadLine()!.Split(' ');
        x[i] = int.Parse(input[0]);
        y[i] = int.Parse(input[1]);
      }

      int fourthPointX, fourthPointY;

      if (x[0] == x[1]) fourthPointX = x[2];
      else if (x[0] == x[2]) fourthPointX = x[1];
      else fourthPointX = x[0];

      if (y[0] == y[1]) fourthPointY = y[2];
      else if (y[0] == y[2]) fourthPointY = y[1];
      else fourthPointY = y[0];

      Console.WriteLine($"{fourthPointX} {fourthPointY}");

    }
  }
}



[ C++ ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <bits/stdc++.h>

using namespace std;

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

  vector<int> x(3), y(3);
  for (int i = 0; i < 3; i++)
    cin >> x[i] >> y[i];

  int fourthPointX, fourthPointY;

  if (x[0] == x[1]) fourthPointX = x[2];
  else if (x[0] == x[2]) fourthPointX = x[1];
  else fourthPointX = x[0];

  if (y[0] == y[1]) fourthPointY = y[2];
  else if (y[0] == y[2]) fourthPointY = y[1];
  else fourthPointY = y[0];

  cout << fourthPointX << " " << fourthPointY << "\n";

  return 0;
}