PS (C, C++)

[백준/C & C++] 3009 네 번째 점

최연재 2022. 9. 4. 21:55

https://www.acmicpc.net/problem/3009

 

3009번: 네 번째 점

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

www.acmicpc.net

코드 (C)

#include <stdio.h>

int main()
{
	int arr[4][3], x,y;
	for (int i = 0; i < 3; i++) scanf("%d %d", &arr[i][0], &arr[i][1]);

	if (arr[0][0] == arr[1][0]) printf("%d ", arr[2][0]);
	else if (arr[0][0] == arr[2][0]) printf("%d ", arr[1][0]);
	else printf("%d ", arr[0][0]);

	if (arr[0][1] == arr[1][1]) printf("%d", arr[2][1]);
	else if (arr[0][1] == arr[2][1]) printf("%d", arr[1][1]);
	else printf("%d", arr[0][1]);

	return 0;
}

코드 (C++)

#include <iostream>
using namespace std;

void print(int arr[][3], int i)
{
	if (arr[0][i] == arr[1][i]) cout << arr[2][i];
	else if (arr[0][i] == arr[2][i]) cout << arr[1][i];
	else cout << arr[0][i];
}

int main()
{
	int arr[4][3];
	for (int i = 0; i < 3; i++) cin >> arr[i][0] >> arr[i][1];
	print(arr, 0);
	cout << " ";
	print(arr, 1);
	return 0;
}

코드설명 

c와 c++ 모두 방식은 같으나 c++에서는 함수를 써서 다 간결하게 코드를 작성했다. 

 

반복문을 돌면서 세 좌표를 입력받는다. 

그 후 네 번째 점의 좌표를 출력하는 x좌표부터 찾는다.

 

축에 평행한 직사각형이기 때문에, 입력받은 세 좌표 중 두 개의 좌표는 x좌표가 같을 것이다. 나머지 다른 좌표의 x좌표를 찾아 출력하고, y좌표 또한 같은 방식으로 찾아 출력한다.

 

느낀 점

축에 평행한 직사각형이기 때문에 코드를 금방 작성할 수 있었다. 

'PS (C, C++)' 카테고리의 다른 글

[백준/C & C++] 2851 슈퍼마리오  (0) 2022.09.05
[백준/C & C++] 1259 펠린드롬수  (0) 2022.09.05
[백준/C & C++] 5724 파인만  (0) 2022.09.04
[백준/C & C++] 2920 음계  (0) 2022.09.04
[백준/C & C++] 1297 TV 크기  (0) 2022.09.03