Back-end/백준(python)
[백준/python] 9063 대지:
bogyoi
2023. 10. 26. 23:25

예를 들어 위와 같이 (2, 1), (3, 2), (5, 2), (3, 4) 네 점에서 옥구슬을 발견하였다면, 임씨에게 돌아갈 대지는 (2, 1), (5, 1), (2, 4), (5, 4)를 네 꼭짓점으로 하는 직사각형이며, 넓이는 (5 - 2) × (4 - 1) = 9 가 된다.
입력
첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다.
출력
첫째 줄에 N 개의 점을 둘러싸는 최소 크기의 직사각형의 넓이를 출력하시오.
예제 입력 1
3
20 24 40 21 10 12 |
예제 출력 1
360
|
예제 입력 2
1
15 13 |
예제 출력 2
0
|
예제 입력 3
4
2 1 3 2 5 2 3 4 |
N=int(input())
x_min=10000; y_min=10000
x_max=-10000; y_max=-10000
for _ in range(N):
x,y=map(int, input().split())
if (x<x_min):
x_min=x
if (x>x_max):
x_max=x
if (y<y_min):
y_min=y
if (y>y_max):
y_max=y
print((x_max-x_min)*(y_max-y_min))
1트 성공 ㅇㅇ
import sys
input = sys.stdin.readline
x_lst = []
y_lst = []
for _ in range(int(input())) :
x, y = map(int, input().split())
x_lst.append(x)
y_lst.append(y)
print((max(x_lst) - min(x_lst)) * (max(y_lst) - min(y_lst)))
이건 다른 사람 코드다
나는 더 작은 값 또는 더 큰 값이 나올때마다 min,max값을 직접 업데이트 해주는 방식이었는데
append함수로 먼저 리스트에 입력받은 x좌표와 y좌표를 다 저장해준다음,
거기서 min(), max()함수 이용해서 list에서 min,max값을 뽑아내주는 방식이다.
파이썬에서 제공해주는 함수를 이렇게 적절히 이용하는 것도 좋은 것 같다