Algorithm Problem/Python

[python] SWEA - 12052. ๋ถ€์„œ์ง„ ํƒ€์ผ

deo2kim 2022. 3. 28. 23:05
๋ฐ˜์‘ํ˜•

๐Ÿค”๋ฌธ์ œ ํ•ด๊ฒฐ

์‰ฌ์šด ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ

  • ์ด์ค‘ ํฌ๋ฌธ์„ ํ™œ์šฉํ•ด์„œ ๊ฒฉ์ž์˜ ํƒ€์ผ์„ ํ•˜๋‚˜์”ฉ ์„ ํƒ
  • ๊นจ์ง„ ํƒ€์ผ์„ ๋งŒ๋‚ฌ์„ ๋•Œ
    • ์˜ค๋ฅธ์ชฝ, ์•„๋ž˜, ์˜ค๋ฅธ์ชฝ์•„๋ž˜๋Œ€๊ฐ์„ ์ด ๊นจ์ ธ์žˆ๋Š”์ง€ ํ™•์ธ
    • ๊นจ์ ธ์žˆ์ง€ ์•Š๋‹ค๋ฉด NO
    • ๋˜๋Š” ์ธ๋ฑ์Šค ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด NO
  • ๊น”๋”ํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌ ๋œ๋‹ค๋ฉด YES

 

๐Ÿ’ป์†Œ์Šค ์ฝ”๋“œ

T = int(input())


def is_right(grid):
    for i in range(N):
        for j in range(M):
            if grid[i][j] == '#':
                try:
                    if grid[i + 1][j] == grid[i][j + 1] == grid[i + 1][j + 1] == '#':
                        grid[i][j] = grid[i + 1][j] = grid[i][j + 1] = grid[i + 1][j + 1] = '.'
                    else:
                        return 'NO'
                except IndexError:
                    return 'NO'
    return 'YES'


for test_case in range(1, T + 1):
    N, M = map(int, input().split())
    arr = [list(input().strip()) for _ in range(N)]
    print(f'#{test_case} {is_right(arr)}')

๐Ÿ“•๋ฌธ์ œ ํ™•์ธ

์ถœ์ฒ˜: SW Expert Academy

๋ฐ˜์‘ํ˜•