Algorithm/알고리즘 문제

[CodeUp][Python] 1507번 4개의 직사각형 넓이

은 딩 2023. 2. 17. 23:59

[CodeUp][Python] 1507번 4개의 직사각형 넓이

 

https://codeup.kr/problem.php?id=1507&rid=0 

 

4개의 직사각형 넓이

 네 줄에 걸쳐 직사각형의 왼쪽 위 꼭지점 (x1, y1)와 오른쪽 아래 꼭지점 (x2, y2)가 입력된다. (0<=평면의  범위<100)

codeup.kr

 

문제 설명   

평면에 네 개의 직사각형이 놓여 있는데 그 밑변은 모두 가로축에 평행하다.

이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함할 수도 있으며, 변이나 꼭지점이 겹칠 수도 있다.

이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오. 

입력

 네 줄에 걸쳐 직사각형의 왼쪽 위 꼭지점 (x1, y1)와 오른쪽 아래 꼭지점 (x2, y2)가 입력된다. (0<=평면의  범위<100)

출력

네개의 직사각형이 차지하는 넓이를 출력한다.

 


정사각형에 해당하는 부분을 모두 1로 만들고

마지막에 1의 개수를 셌다

arr = []
# 2차원 리스트 생성
for i in range(101):
    temp = [0]*101
    arr.append(temp)

for i in range(4):
    x1, y1, x2, y2 = map(int, input().split())
    for j in range(x1, x2):
        for k in range(y1, y2):
            arr[j][k] = 1

result = 0
for i in range(101):
    for j in range(101):
        if arr[i][j] == 1:
            result += 1

print(result)