For Programmer
백준 10163번 파이썬 문제풀이(색종이) 본문
728x90
이 문제는 푸는 방식을 모른다면 정말 어려운 문제다. 문제에서 1001,1001 이라고 개수를 정해주었기 때문에 제일 먼저 생각해야할 것이 미리 1001*1001 배열을 정해서 배열안의 값을 각각 색종이마다 다르게 저장하는 방식으로 생각을 해야한다.
N = int(input())
info = []
array = [[-1] * 1001 for _ in range(1001)]
max_index_height, max_index_width = 0, 0 # 최대 인덱스를 저장할 변수 선언
for k in range(N):
x1, y1, w, h = list(map(int, input().split())) # 각각 x,y,넓이,높이 정보를 받는다.
if max_index_height < y1 + h: # 최대 행의 인덱스가 있다면.
max_index_height = y1 + h # 그 행을 최대행인덱스로 설정해준다.
for a in range(y1, y1 + h): # 높이 길이만큼돈다.
array[a][x1:(x1 + w)] = [k] * w # x1 ~ x1+w 까지의 배열을 모두 [k] * w 로 바꿔준다.
for k in range(N): # N개수 만큼 돈다.
count = 0 # 넓이를 저장할 변수 선언
for i in range(max_index_height): # 배열 길이만큼돈다.
count += array[i].count(k)
print(count) # 해당 개수를 출력
728x90
'코팅테스트 > 백준 문제 모음' 카테고리의 다른 글
백준 13300번 파이썬 문제풀이(반 배정) (0) | 2022.02.01 |
---|---|
백준 1009번 파이썬 문제풀이(분산처리) (0) | 2022.02.01 |
백준 10158번 파이썬 문제풀이(개미) (0) | 2022.01.31 |
백준 10157번 파이썬 문제풀이(자리배정) (0) | 2022.01.31 |
백준 2527번 파이썬 문제풀이(직사각형) (0) | 2022.01.30 |
Comments