ALGORITHM/PYTHON

백준 BAEKJOON 1531번 투명 [PYTHON/파이썬]

칼코 2025. 3. 16. 14:46
728x90
반응형

 

 

 

 

 

 

백준 BAEKJOON 1531번 투명 [PYTHON/파이썬]


<문제 출처> (SILVER Ⅴ)

https://www.acmicpc.net/problem/1531

 

 

 

 

 

 

 

 

 

 

<풀이>

먼저 0으로 채워진 101X101 크기의 2차원 리스트를 만들어줬다.

(이것은 쉽게 x, y 좌표를 받기 위해 101X101로 설정한 것이다.)

주어진 N개의 줄에 맞춰 x1, y1, x2, y2 좌표를 입력받은 후

이중 for문을 사용하여 좌표에 해당하는 요소에 +1을 진행하였다.

여기서 M보다 작거나 같은 숫자는 투명해서 보이는 그림이고

높으면 보이지 않는 그림인 것이다.

보이지 않는 그림을 세기 위해 if 문을 사용하여 개수를 세준 뒤 출력하면 된다.

 

 

 

 

 

 

<코드>

N, M = map(int, input().split())
paper = [[0] * 101 for _ in range(101)]
result = 0

for _ in range(N):
    x1, y1, x2, y2 = map(int, input().split())
    for row in range(x1, x2 + 1):
        for col in range(y1, y2 + 1):
            paper[row][col] += 1

# 보이지 않는 그림의 개수 세기
for p in paper:
    result += len([x for x in p if x > M])

print(result)

 

 

 

 

 

 

 

 

728x90
반응형