[python] 백준 2563번 오답노트

김보현·2024년 6월 11일
0

PS

목록 보기
26/62

정답

array = [[0] * 100 for i in range(100)]
n = int(input())
for i in range(n):
    a, b = map(int, input().split())
    for wi in range(a, a+10):
        for he in range(b, b+10):
            array[wi][he] = 1

color = 0

for i in range(100):
    color += array[i].count(1)
    
print(color)

0으로 채워진 row100, col100의 배열을 만든다.
정사각형이 가로10, 세로10이기 때문에 입력받은 좌표에서 10씩 더해준다.
그리고 width, heigh에 해당하는 좌표를 1로 바꾸어준다.
for loop를 다 돌면 1로 바뀐 부분을 세어준다.

깨달은점

처음에 넓이 n*100에서 겹치는 부분을 빼는 형태로 문제를 푸려고 하니까 너무 어려웠다.
겹치는 것에 집착하지 않고 1로 바꾸는 형태로 푸니까 쉽게 풀 수 있었다.

profile
Fall in love with Computer Vision

0개의 댓글

관련 채용 정보