본문 바로가기
Algorithm

[구현/수학] 백준 9063 대지 - 파이썬(Python)

by jangThang 2023. 7. 1.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    9063번: 대지

    첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. 

    www.acmicpc.net

     

     

    2. 문제 풀이

     x, y 좌표의 최대 최소값을 구해 너비를 구하는 문제입니다.

     주어진 좌표가 직사각형의 꼭짓점이 되는 게 아니기 때문에, 단순히 축별 최소 최대만 구해서 너비를 구하면 됩니다.

     

     

     

    3. 코드

    import sys
    input = sys.stdin.readline
    
    # 입력
    N = int(input())
    max_x = -100000
    max_y = -100000
    min_x = 100000
    min_y = 100000
    
    for _ in range(N):
        x, y = map(int, input().split())
    
        max_x = max(max_x, x)
        min_x = min(min_x, x)
        max_y = max(max_y, y)
        min_y = min(min_y, y)
    
    print(abs(max_x-min_x) * abs(max_y-min_y))

     주의할 점은 x, y의 범위가 -100000 ~ 100000 이라는 점입니다.

     음수를 주의하시기 바랍니다.

     

    star가 되고나서 Tistory

    반응형

    댓글