반응형
직사각형 만들기
- 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 |