알고리즘 유형 : 2차원 배열
풀이 참고 없이 스스로 풀었나요? : O
https://www.acmicpc.net/problem/2563
import sys
input = sys.stdin.readline
n = int(input())
board = [[0]*101 for _ in range(101)]
def attach_paper(x, y, board):
for i in range(x, x+10):
for j in range(y, y+10):
board[i][j] = 1
for _ in range(n):
x, y = map(int, input().split())
attach_paper(x, y, board)
result = 0
for row in board:
result += sum(row)
print(result)
풀이 요약
색종이 하나당 가로 또는 세로 방향으로 점이 10개 찍혀야한다. 왼쪽 아래 모서리를 기준으로 10개만큼 행/열 방향으로 값을 1로 채운다. (2차원 배열)
예제에서는 두 번째 색종이의 가로를 5부터 15까지로 표현하였는데, 코드를 이런 식으로 짜면 색종이 넓이가 121이 되어버리므로 고려해서 코딩하자.
배운 점, 어려웠던 점