Algorithm/Problems

[백준/파이썬] 2563번 색종이

공부좀하시졍 2022. 11. 7. 15:29

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

 

2563번: 색종이

가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록

www.acmicpc.net

paper = [[0] * 100 for _ in range(100)]

n = int(input())

for _ in range(n):
  a, b = map(int, input().split())
  for i in range(a, a+10):
    for j in range(b, b+10):
      paper[i][j] = 1

cnt = 0
for box in paper:
  cnt += box.count(1)

print(cnt)

색종이 크기가 겹치는 경우의 수를 고려해서 구하려고 해서 막막했다.

검색을 해보니, 크기가 100인 2차 배열을 0으로 채운 뒤, 색종이가 차지하는 부분을 1로 값 변경한다.

그 후, 배열 값이 1인 경우를 세주니 색종이가 차지하는 부분의 넓이를 알 수 있다.