https://www.acmicpc.net/problem/2669
grid = [[0 for _ in range(100)] for _ in range(100)]
for _ in range(4):
x1, y1, x2, y2 = map(int, input().split())
for index_y in range(y1,y2):
for index_x in range(x1,x2):
grid[index_y][index_x] = 1
result = 0
for index in range(100):
result += sum(grid[index])
print(result)
좌표평면을 기준으로 생각하여 코드를 구현하였습니다.(생각해보면 불필요한 부분인 것 같습니다)
grid
라는 좌표평면을 표현하기 위한 리스트를 만들고, 모든 값을 0으로 설정하였습니다.
( grid[0][0]
: 왼쪽 아래 좌표가 (0, 0)인 길이가 1인 정사각형 이라고 생각)
각각의 직사각형의 왼쪽 아래 좌표와 왼쪽 위 좌표를 받아오고,
for문을 활용하여 좌표평면 안에서 직사각형에 해당하는 부분의 값을 1로 바꿔주었습니다.
이후, 좌표평면 안에서 sum
을 통해 바뀐 모든 값을 더해 직사각형들이 차지하는 면적을 구하였습니다.
성공하긴 했지만, 아쉬운 코드..!