백준
[백준] 9063번 : 대지 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 10. 27. 12:30
728x90
반응형

9063번: 대지
첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다.
www.acmicpc.net
1. 문제 설명


2. 풀이과정
해당 문제는 옥구슬을 발견한 지점을 보고 직사각형 모양의 대지 면적을 계산하는 문제이다.
각 x축과 y축 변의 길이는 각 x좌표와 y좌표의 최댓값에서 최솟값을 뺀 값이다.
각 변의 길이를 구한 뒤 곱하여 대지의 면적을 구한다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 점의 개수를 입력받는다. N = int(sys.stdin.readline())
- 점의 x좌표를 저장할 리스트를 생성한다. xlist = list()
- 점의 y좌표를 저장할 리스트를 생성한다. ylist = list()
- 점의 개수만큼 반복하며 for _ in range(N)
- 점의 x좌표와 y좌표를 입력받고 x, y = map(int, sys.stdin.readline().split())
- 각 좌표를 리스트에 추가한다. xlist.append(x) ylist.append(y)
- 직사각형의 x변 길이는 x좌표의 최댓값에서 최솟값을 뺀 값이고 xlen = max(xlist) - min(xlist)
- 직사각형의 y변 길이는 y좌표의 최댓값에서 최솟값을 뺀 값이다. ylen = max(ylist) - min(ylist)
- 직사각형의 넓이를 출력한다. print(xlen * ylen)
반응형
3. 소스코드
import sys
N = int(sys.stdin.readline())
xlist = list()
ylist = list()
for _ in range(N):
x, y = map(int, sys.stdin.readline().split())
xlist.append(x)
ylist.append(y)
xlen = max(xlist) - min(xlist)
ylen = max(ylist) - min(ylist)
print(xlen * ylen)
728x90
반응형