IT 프로그래밍/백준

[c++] 백준 3009번 네 번째 점

기술1 2024. 6. 1. 16:13

문제

코드

#include <iostream>


using namespace std;

int main()
{
	int x[3];
	int y[3];

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

	if (x[0] == x[1])
	{
		cout << x[2] << endl;
	}
	else if (x[0] == x[2])
	{
		cout << x[1] << " ";
	}
	else if (x[1] == x[2])
	{
		cout << x[0] << " ";
	}

	if (y[0] == y[1])
	{
		cout << y[2] << endl;
	}
	else if (y[0] == y[2])
	{
		cout << y[1] << endl;
	}
	else if (y[1] == y[2])
	{
		cout << y[0] << endl;
	}

	return 0;
}

 

문제 풀이

주어진 세 점을 이용하여 직사각형의 네 번째 점을 찾는 프로그램입니다. 직사각형은 네 점으로 이루어져 있고, 이 중 세 점이 주어졌을 때 나머지 한 점의 좌표를 구하는 것입니다.

 

주어진 세 점 중 좌표값이 두 번 등장하지 않은 값을 찾으면 되는데요.

 

이것만 추론해냈다면 코드를 구성하는 것은 간단합니다.

 

먼저 int x[3], int y[3]을 통해 각각 저장할 배열을 만들어줍니다. 이후 if문을 통해 각각의 경우의 수를 구해주면 되는데요. 문제에서 평행한 네 좌표라는 것이 주어졌기 때문에 x도 2번, y도 2번씩 각각 나와야 된다는 점을 이용하면 쉽게 풀 수 있습니다.