[백준/python/16956] 늑대와 양

bej_ve·2022년 4월 13일
0

python알고리즘

목록 보기
19/46
post-thumbnail

문제 링크 : 늑대와 양

울타리를 최소로 설치해야하는 줄 알았는데 그런 제약이 없었다. 그래서 .을 만났을 경우 모두 울타리로 바꿔주었다.

import sys

r,c=map(int,input().split())
maps=[list([p for p in sys.stdin.readline().strip()]) for _ in range(r)]

dx=[0,0,-1,1]
dy=[1,-1,0,0]
result=False

for i in range(r):
    for j in range(c):
        if maps[i][j]=='W': #늑대일때
            for k in range(4):
                nx=i+dx[k]
                ny=j+dy[k]
                if nx<0 or nx>=r or ny<0 or ny>=c:
                    continue
                if maps[nx][ny]=='S':
                    result=True
                    break
        
        elif maps[i][j]=='S': #양일때
            continue
        
        else: #.일때
            maps[i][j]='D'

if result:
    print(0)
else:
    print(1)
    for i in maps:
        print(''.join(i))
  1. 늑대일때
    상하좌우에 양이 있는지 확인, 있으면 0출력
  2. 양일때
    continue
  3. .일때
    울타리 설치하기

0개의 댓글