https://www.acmicpc.net/problem/2563
문제 풀이
- 크기가 1인 사각형은 4개의 좌표로 구성된다.
- 기준 좌표를 하나 정하고 그 좌표의 개수를 세서 크기를 구한다 (=> solution1 -sum으로 구하기)
- 또는 중복되지 않은 좌표의 개수를 구한다.( => solution2 - set으로 구하기)
solution1-sum으로 구하기
import sys
n = int(sys.stdin.readline().strip())
# 크기가 100*100인 이중리스트 생성
matrix = [[0]*100 for _ in range(100)]
for _ in range(n):
x,y = map(int,sys.stdin.readline().strip().split())
# 크키가 1인 왼쪽아래 좌표를 기준으로 색종이의 크기를 계산한다.
for x_p in range(x,10+x):
for y_p in range(y,10+y):
matrix[x_p][y_p] = 1
print(sum(map(sum, matrix)))
solution2 - 중복된 영역의 좌표의 개수 구하기
import sys
n = int(sys.stdin.readline().strip())
total_point = set()
for _ in range(n):
x,y = map(int,sys.stdin.readline().strip().split())
for x_p in range(x,10+x):
for y_p in range(y,10+y):
total_point.add((x_p,y_p))
print(len(total_point))
'algorithm > 백준' 카테고리의 다른 글
[PYTHON/파이썬] 2851 슈퍼 마리오 - 다중조건 내림차순 (0) | 2023.02.15 |
---|---|
[PYTHON/파이썬] 1764 듣보잡 - Counter/Filter/setdefault (0) | 2023.02.15 |
[PYTHON/파이썬] 2738 행렬 덧셈 (0) | 2023.02.09 |
[PYTHON/파이썬] 10250 ACM호텔 - zfill() 0으로 자릿수 채우는 법 (0) | 2023.02.09 |
[PYTHON/파이썬] 4949 균형잡힌 세상 - ()[]{}<> (0) | 2023.02.09 |
댓글