문제 번호 3009번 : 네 번째 점 - JAVA [자바]
728x90
https://www.acmicpc.net/problem/3009
3009번: 네 번째 점
세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.
www.acmicpc.net
문제 설명
사각형의 꼭짓점을 좌표로 보고 3개의 꼭짓점의 위치를 알려주고 나머지 한 꼭짓점의 위치를 출력하는 문제입니다.
문제 풀이
사각형을 좌표로 본다면 특징이 있습니다. 그 특징은 X축의 같은 값이 총 2개 Y축의 같은 값이 2개씩이라는 것입니다.
위에 그림을 보시면 그 사각형 모두 x축 값이 2개 y축 값이 2개로 쌍을 이루어 사각형이 좌표 위에 존재하고 있습니다.
(2,2), (2,4), (5,2), (5,4) -> x 값 : 2,5 / y 값 : 2,4
(1,1), (1,2), (3,1), (3,2) -> x 값 : 1,3 / y 값 : 1,2
그러므로 문제에서 3개의 좌표를 알려주면 그중 쌍이 없는 좌표를 찾아 출력해 주면 됩니다.
2개씩 있는 값은 제외하고 하나씩 있는 값을 찾아 그 값을 x, y로 좌표를 설정해 주면 원하는 값을 출력할 수 있습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] x = new int[4];
int[] y = new int[4];
for(int i=0; i<3; i++){
x[i] = sc.nextInt();
y[i] = sc.nextInt();
}
if(x[0] == x[1]){
x[3] = x[2];
} else if (x[0] == x[2]) {
x[3] = x[1];
} else if (x[1] == x[2]) {
x[3] = x[0];
}
if(y[0] == y[1]){
y[3] = y[2];
} else if (y[0] == y[2]) {
y[3] = y[1];
} else if (y[1] == y[2]) {
y[3] = y[0];
}
System.out.println(x[3]);
System.out.println(y[3]);
}
}
'알고리즘 > 백준 문제 및 정답' 카테고리의 다른 글
문제 번호 9063번 : 대지- JAVA [자바] (0) | 2023.04.13 |
---|---|
문제 번호 15894번 : 수학은 체육과목 입니다 - JAVA [자바] (0) | 2023.04.13 |
문제 번호 1085번 : 직사각형에서 탈출 - JAVA [자바] (0) | 2023.04.13 |
문제 번호 27323번 : 직사각형 - JAVA [자바] (0) | 2023.04.11 |
문제 번호 9506번 : 약수들의 합 - JAVA [자바] (0) | 2023.04.10 |