열심히 코딩 하숭!

[알고리즘][2차원 배열] 2563번 색종이 | baekjoon 문제 풀이 본문

코딩테스트/baekjoon

[알고리즘][2차원 배열] 2563번 색종이 | baekjoon 문제 풀이

채숭이 2023. 9. 1. 20:06

문제

 

 

풀이

 

처음에는 list에 각 색종이의 왼쪽아래 꼭지점 좌표 정보를 [a, b] 형태로 저장하고 겹친 부분을 구했는데

넓이가 마이너스 값이 나왔다~

 

알고보니 색종이가 3개 이상씩 겹치는 걸 계산 안 해줬던...  이런~ ^^

 

그래서 겹치는 문제를 해결하기 위해

100 X 100 행렬을 만들어서

도화지를 100 X 100 픽셀이라고 생각하고 계산해주었다.

 

 

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

T = int(input())

for i in range(T):
    a, b = map(int, input().split(' '))
    for j in range(a-1, a+9):
        for k in range(b-1, b+9):
            paper[j][k] = 1

area = 0
for i in range(100):
    for j in range(100):
        area += paper[i][j]

print(area)