For Programmer

백준 2669번 파이썬 문제풀이(직사각형 네개의 합집합의 면적 구하기) 본문

코팅테스트/백준 문제 모음

백준 2669번 파이썬 문제풀이(직사각형 네개의 합집합의 면적 구하기)

유지광이 2022. 1. 25. 21:28
728x90


이 문제 아무리 생각해도 어떻게 접근해야 하는지 모르겠다... 고민 끝에 힌트를 조금 얻었다. 그냥 1,1 ~ 100,100 까지 다 조사를 한다. 그리고 해당 좌표가 입력받은 직사각형 4개의 좌표안에 있다면 넓이가 어차피 1이니 +1 해준다. 이게 끝인데 생각하기가 너무 어려웠다.

array = [list(map(int, input().split())) for x in range(4)]

result = 0
for i in range(1, 101):  # 1,1 ~ 100,100 까진돈다.
    for j in range(1, 101):  # 1,1 ~ 100,100 까지 돈다.
        for k in range(4):  # 입력 받은 직사각형 4개를 돈다.
            # 만약, 1,1 ~ 100,100 까지 도는데 해당 좌표가 직사각형의 좌표안에 포함되어 있으면 넓이 1을 더해주고
            # 더이상 직사각형 안에 속하는지 검사안해도 되기 때문에 반복문 탈출
            if array[k][0] < i <= array[k][2] and array[k][1] < j <= array[k][3]:
                result += 1
                break

print(result)
728x90
Comments