[BOJ][Python]직사각형 네개의 합집합의 면적 구하기
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
을 통해 바뀐 모든 값을 더해 직사각형들이 차지하는 면적을 구하였습니다.
📌후기
성공하긴 했지만, 아쉬운 코드..!
Author And Source
이 문제에 관하여([BOJ][Python]직사각형 네개의 합집합의 면적 구하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mein-figur/BOJPython직사각형-네개의-합집합의-면적-구하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)