LeeInGyu 2025. 3. 26. 23:15

백준 9063 대지

링크: 9063 대지


접근 방법

  • 입력이 많아질 수 있어 sys.stdin.readline() 사용
  • x, y 각각의 최댓값 최솟값을 구한 후 연산

소스 코드

소스 코드: 92075217 제출

'''
x와 y의 최댓값, 최솟값을 찾은 후 넓이를 계산
입력이 많아질 수 있으므로 sys.stdin.readline() 사용
'''
import sys

# 입력
N = int(sys.stdin.readline())

xy_list = []
for _ in range(N):
    x, y = map(int, sys.stdin.readline().split())

    xy_list.append((x, y))

# 최댓값, 최솟값 계산
if N == 1:
    print(0)
else: # O(N)
    x_max = xy_list[0][0]
    y_max = xy_list[0][1]
    x_min = xy_list[0][0]
    y_min = xy_list[0][1]

    for x, y in xy_list[1:]:
        x_max = max(x, x_max)
        y_max = max(y, y_max)
        x_min = min(x, x_min)
        y_min = min(y, y_min)

    print((x_max-x_min)*(y_max-y_min))

결론

  • 브론즈 3 답게 너무 쉽게 풀렸고, 간단한 수학 연산이라서 더 쉽게 느껴진듯 하다.
  • 그래도 아주 빠르게 문제를 이해한 것은 긍정적으로 평가됨
728x90
반응형