알고리즘/문제풀이

직사각형 만들기

lipnus 2019. 3. 15. 16:00
반응형

직사각형 만들기


- 3개의 점을 주고, 남은 한 점을 반환 

- 직사각형은 x,y축과 평행하다.


안평행하면 복잡해짐.(CCW활용) 

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



import java.util.PriorityQueue;

public class Solution {
public static void main(String[] args){

int[][] v = { {1,1}, {2,2}, {1,2} };
int[] answer = new int[2];

PriorityQueue<Integer> pq_x = new PriorityQueue<>();
PriorityQueue<Integer> pq_y = new PriorityQueue<>();

//넣기
for(int i=0; i<3; i++){
pq_x.add( v[i][0] );
pq_y.add( v[i][1] );
}

int temp_x = pq_x.poll();
int temp_y = pq_y.poll();

if(temp_x == pq_x.poll()) answer[0] = pq_x.poll();
else answer[0] = temp_x;

if(temp_y == pq_y.poll()) answer[1] = pq_y.poll();
else answer[1] = temp_y;

System.out.println(answer[0] + ", " + answer[1]);
}
}

직사각형이 되려면 x1, x2, y1, y2가 각각 2개씩 있어야 함을 이용.

비교하는 코드 줄이려고 PriorityQueue 사용.

반응형

'알고리즘 > 문제풀이' 카테고리의 다른 글

[DFS]구슬 탈출2  (0) 2019.03.20
[시뮬레이션] 나무 재태크  (0) 2019.03.18
[힙] 더 맵게  (0) 2019.03.11
[투포인터] 부분합  (0) 2019.03.08
[인덱스트리] 구간 합 구하기  (0) 2019.03.06