우선 getMinimumPoint() 메서드부터 구현해봅시다. 구현은 간단합니다. points 리스트 안의 모든 Point 객체를 순회하면서 가장 작은 x, y 값을 찾고, 이를 사용하여 Point 객체를 만들어 반환하면 됩니다.
private Point getMinimumPoint(List<Point> points) {
long x = Long.MAX_VALUE;
long y = Long.MAX_VALUE;
for (Point p : points) {
if (p.x < x) x = p.x;
if (p.y < y) y = p.y;
}
return new Point(x, y);
}
getMaximumPoint() 메서드도 마찬가지로 구현해줍니다. x, y 변수의 초깃값과 for 문 안에서 비교 연산자의 방향이 바뀌었음에 유의해주세요.
private Point getMaximumPoint(List<Point> points) {
long x = Long.MIN_VALUE;
long y = Long.MIN_VALUE;
for (Point p : points) {
if (p.x > x) x = p.x;
if (p.y > y) y = p.y;
}
return new Point(x, y);
}