자바/백준
[백준 3009] 네 번째 점 - 자바(Java)
Jakorithm
2024. 1. 1. 00:15
728x90
문제
https://www.acmicpc.net/problem/3009
3009번: 네 번째 점
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
www.acmicpc.net
코드
첫 번째 줄부터 세 점의 좌표가 한 줄에 하나씩 주어진다. 이때 축에 평행한 직사각형을 만들기 위해 필요한 네 번째 점을 찾아 출력하는 문제다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int[] xArr = new int[3]; // x 좌표를 저장할 배열
int[] yArr = new int[3]; // y 좌표를 저장할 배열
// 세 점 입력 받아 배열에 저장
for (int i = 0; i < 3; i++) {
st = new StringTokenizer(br.readLine());
xArr[i] = Integer.parseInt(st.nextToken());
yArr[i] = Integer.parseInt(st.nextToken());
}
int x = 0;
int y = 0;
// x의 네 번째 좌표 구하기
if (xArr[0] == xArr[1]) {
x = xArr[2];
} else if (xArr[0] == xArr[2]) {
x = xArr[1];
} else {
x = xArr[0];
}
// y의 네 번째 좌표 구하기
if (yArr[0] == yArr[1]) {
y = yArr[2];
} else if (yArr[0] == yArr[2]) {
y = yArr[1];
} else {
y = yArr[0];
}
System.out.println(x + " " + y);
}
}
- 직사각형이 되기 위해서는 x 좌표와 y 좌표가 2번씩 등장해야 한다는 점을 이용해야 한다.
- 입력받은 x와 y좌표들 중 한 번만 등장한 숫자가 네 번째 점의 좌표이다.
728x90