[SWEA] #12052 부서진 타일

wonyu·2021년 12월 11일
0

algorithm

목록 보기
9/25

문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXmwOSJaSNIDFARX

계획

부서진 타일을 2*2 타일로 대체할 것이므로, 각 행/열에 대해 연속한 '#'를 센 값이 짝수여야 한다.

코드

T = int(input())
for tc in range(1, T+1):
    N, M = map(int, input().split())
    arr = [input() for _ in range(N)]
    result = 'YES'

    # 각 row에 대해 확인
    for i in range(N):
        cnt_r = 0
        for j in range(M):
            if arr[i][j] == '#':
                cnt_r += 1
            # 현재 행에서 연속한 #의 길이가 홀수이면 결과 = NO
            else:
                if cnt_r % 2:
                    result = 'NO'
                    break
        if cnt_r % 2:
            result = 'NO'
            break

    # 각 column에 대해 확인
    for i in range(M):
        cnt_c = 0
        for j in range(N):
            if arr[j][i] == '#':
                cnt_c += 1
            # 현재 열에서 연속한 #의 길이가 홀수이면 결과 = NO
            else:
                if cnt_c % 2:
                    result = 'NO'
                    break
        if cnt_c % 2:
            result = 'NO'
            break

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

풀이 방법

계획한 대로 풀었음.

0개의 댓글