728x90
#2563
n = int(input()) #색종이 수 입력
num_list = [[0] * 100 for _ in range(100)] #0으로 채워진 100 by 100 2차원 배열 생성
for _ in range(n): #색종이 수 만큼 반복
x,y=map(int,input().split()) #색종이의 좌하단 점 입력
#색종이의 좌하단 점으로부터 우상단으로 10 by 10 색종이가 걸치는 좌표의 값을 1로 설정
for i in range(10):
for j in range(10):
num_list[x+i][y+j] = 1
ans = 0 #결과 값을 0으로 세팅
#열을 기준으로 값이 1인 좌표들을 counting하여 그 수만큼 ans에 더해줌
for a in num_list:
ans+=a.count(1)
print(ans)
2차원 배열 문제이고 두가지 정도의 발상이 필요하다.
우선 100*100짜리 배열을 0으로 세팅해두고 색종이가 걸리는 영역을 1로 바꾸어주고 최종적으로 1의 개수만 세어서 답을 내는 발사이다. 다음으로 2차원 배열의 1의 개수를 세는 방법으로 후반부에 존재하는 for문처럼 열을 기준으로 해당 열의 원소들중 1이 있는 점을 counting하여 정답에 더해가며 전수조사를 하는 발상이다.
728x90
'Sketch (Programming Language) > Python' 카테고리의 다른 글
Baekjoon Training #15649 (0) | 2023.01.15 |
---|---|
Baekjoon Training #2178 (0) | 2023.01.10 |
Baekjoon Training #2738 (0) | 2023.01.05 |
Baekjoon Training #1912 (0) | 2022.12.27 |
Baekjoon Training #1931 (0) | 2022.12.26 |