예를 들어 위와 같이 (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값을 뽑아내주는 방식이다.
파이썬에서 제공해주는 함수를 이렇게 적절히 이용하는 것도 좋은 것 같다
'Back-end > 백준(python)' 카테고리의 다른 글
[백준/python] 5073 삼각형과세변: 삼각형이 될 조건 (0) | 2023.10.26 |
---|---|
[백준/python] 10101 삼각형외우기: (0) | 2023.10.26 |
[백준/python] 15894 수학은체육과목입니다: (0) | 2023.10.25 |
[백준/python] 3009 네번째점: else문에 대한 생각? (1) | 2023.10.25 |
[백준/python] 1085 직사각형에서탈출: min(), abs() (0) | 2023.10.25 |