IT/알고리즘

백준 3009 네번째 점

어센트 2020. 3. 1. 19:50

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

 

3009번: 네 번째 점

문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 복사 30 20 10 10 10 20 예제 출력 1 복사 30 10...

www.acmicpc.net

 

배운점

쉬운문제를 어렵게 생각하다보니 답이 금방 나오지않았는데 어차피 점은 3개고 3번만 비교해주면 되니까 x,y를 나누어 각각 모두비교하는 방식으로 문제를 풀었다.

 

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package 수학2;
import java.io.*;
 
public class 네번째점 {
    static class P{
        int x,y;
        boolean chk = true;
         P(int x,int y){
            this.x = x;
            this.y = y;
        }
 
    }
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String [] in;
        P [] p = new P[3];
        for (int i = 0; i < 3; i++) {
            in = br.readLine().split(" ");
            p[i] = new P(Integer.parseInt(in[0]),Integer.parseInt(in[1]));
        }
 
        if(p[0].x==p[1].x){
            System.out.print(p[2].x+" ");
        }
        else if(p[0].x == p[2].x)
            System.out.print(p[1].x+" ");
        else
            System.out.print(p[0].x+" ");
 
        if(p[0].y==p[1].y){
            System.out.println(p[2].y);
        }
        else if(p[0].y == p[2].y)
            System.out.println(p[1].y);
        else
            System.out.println(p[0].y);
 
    }
}
 
cs