Baekjoon/IM Level
[백준] 2563 색종이 (실버5)
hellosonic
2023. 2. 23. 12:51
문제요약
나의 코드 및 설명
- n : 색종이의 개수
- array : 이 문제에서는 도화지 크기를 가로, 세로 100으로 정해두었는데, 이게 이 문제의 힌트가 아닐까 싶다. 0을 원소로 갖는 이차원 리스트 초기화
- 0으로 초기화 되어 있는 도화지의 색종이 있는 부분을 for문을 이용해 1을 저장한다.
n = int(input())
array = [[0] * 100 for _ in range(100)] #도화지 범위 초기화 (100*100)
for _ in range(n):
x, y = map(int, input().split())
for i in range(x, x+10):
for j in range(y, y+10):
array[i][j] = 1
fin = 0
for k in range(100):
fin = fin + array[k].count(1)
print(fin)
피드백
어떻게하면 겹친 색종이의 넓이를 구할 수 있을까? 그렇게 하면 케이스가 너무 많은데..
고민하다가 풀이를 보고 정말 놀랐다. 도화지 범위를 초기화(0으로)한 후 색종이 범위만 1로 저장하고, 1의 개수를 세어주면 된다니.. 문제를 풀 때 좀 더 여러가지 풀이 방법을 고안해봐야겠다.