출처: 백준 2563번 색종이
2차원 배열을 이용하여, 붙어있는 색종이의 위치를 표현하는 문제이다.
각 위치를 2차원 배열의 index로 활용하고, 색종이가 붙어있는 곳은 True
로, 아닌 곳은 False
로 표현하면 간단하게 문제를 풀 수 있다.
n = int(input())
XY = [[False]*100 for _ in range(100)]
for _ in range(n):
X,Y = map(int,input().split())
for i in range(X-1,X+9):
for j in range(Y-1,Y+9):
XY[i][j] = True
result = 0
for i in range(100):
for j in range(100):
if XY[i][j]:
result += 1
print(result)
처음에 문제를 접했을 때에는, 어떤 식으로 접근해야 하는지 감도 안 잡혔다.
풀이를 보고 나니 생각보다 간단해서 허무했던 기억이 난다.