코딩테스트/SWExpertAcademy

[Python] SWEA 4836 - 색칠하기

Ssubini 2022. 4. 13. 22:26

[2022.02.15]

- python list 활용문제

 

> 문제

N개의 영역에 대해 왼쪽 위와 오른쪽 아래 모서리 인덱스, 칠할 색상이 주어질 때, 칠이 끝난 후 색이 겹쳐 보라색이 된 칸 수를 구하는 프로그램을 만드시오.

 

T = int(input())

def coloring(li):
    for i in range(li[1],li[3]+1):
        for j in range(li[0],li[2]+1):
            board[i][j][li[4]-1] += 1

def isPurple(b):
    cnt = 0
    for i in range(len(b)):
        for j in range(len(b[i])):
            if b[i][j][0] > 0 and b[i][j][1] > 0:
                cnt += 1
    return cnt

for tc in range(T):
    N = int(input())
    point=[list(map(int,input().split())) for _ in range(N)]
    board = [[[0,0] for _ in range(10)] for k in range(10)]
    for n in range(N):
        coloring(point[n])

    answer = isPurple(board)
    print(f'#{tc+1} {answer}')