728x90
[문제]
https://www.acmicpc.net/problem/2563
2563번: 색종이
가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록
www.acmicpc.net
[코드]
처음 아이디어로는 색종이 겹치는 넓이를 구하고, 색종이 총 넓이에서 빼려고 했다.
그러면 색종이의 각 모서리 좌표를 알아야하고 코드가 복잡해지고 계산이 어려워졌다.
도화지가 100 x 100, 색종이가 10 x 10 으로 제한되어 있으므로,
도화지를 0으로 초기화 한 후 색종이가 붙는 부분에만 1로 바꿔준다.
n = int(input())
#도화지 0으로 초기화
paper = [[0 for _ in range(100)] for _ in range(100)]
for i in range(n):
#색종이 좌표값 입력 받기
x, y = map(int,input().split())
#색종이 넓이만큼 1로 바꿔주기
for dx in range(x,x+10):
for dy in range(y,y+10):
paper[dx][dy] = 1
# 도화지에서 1인 개수 세기
cnt = 0
for i in paper:
cnt += i.count(1)
print(cnt)
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 9506 약수들의 합 (0) | 2024.04.05 |
---|---|
[BOJ][Python] 11005 진법 변환 2 (0) | 2024.04.03 |
[BOJ][Python] 10798 세로읽기 (0) | 2024.04.02 |
[BOJ][Python] 2566 최댓값 (1) | 2024.04.02 |
[BOJ][Python]1157 단어 공부 (0) | 2024.04.01 |