[SWEA] 4836.색칠하기

gonzo·2020년 9월 22일
0

SWEA

목록 보기
1/1
post-thumbnail

T = int(input())
for tc in range(1, T+1):
    board = [[0]*10 for _ in range(10)]
    sum = 0
    N = int(input())
    for i in range(N):
        x1, y1, x2, y2, col = map(int, input().split())

        for r in range(x1, x2+1):
            for c in range(y1, y2+1):
                board[r][c] += col
    for r in range(10):
        for c in range(10):
            if board[r][c] == 3:
                sum += 1

    print('#{} {}'.format(tc, sum))

Key Logic

  • 입력된 값들 중 색깔 값을 이용해 영역을 칠하는 것

  • 두 영역이 겹쳐지는 부분의 처리 및 세 주는 것

for r in range(x1, x2+1):
            for c in range(y1, y2+1):
                board[r][c] += col
    for r in range(10):
        for c in range(10):
            if board[r][c] == 3:
                sum += 1

그래서 이 부분의 코드가 무척 중요한 포인트가 됨.

범위는 x1부터 x2까지 탐색해야 하므로 x2+1

첫 번째 for문에서 먼저 색을 칠한 후 두 번째 for문에서 겹쳐지는 영역을 표시한다.

profile
💬직업은 IT로 하겠습니다 근데 이제 건축을 곁들인...

0개의 댓글