[백준_python] 늑대와 양 || 16956

2021. 2. 16. 21:56·🎯PS

www.acmicpc.net/problem/16956

16956번: 늑대와 양

크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게

www.acmicpc.net

이거 출력이 저렇게 안나와도 맞았다고 해준다..
풀다가 아무래도 모르겠어서 다른 분들 코드를 보면서 오호 이렇게 하는거구나 하고 열심히 했는데
출력이 예제와 달라서 어쩌지,,하다가 제출했더니 맞았다고 그랬다..! ㅠㅠ(이유는 모름)
 
일단, 이 문제는 늑대와 양이 인접하는 지를 알아보기 위해, 늑대를 찾아 늑대의 상하좌우를 검색하며
울타리를 설치할 수도 없이 바로 양과 인접한 경우에는 0을 출력하고, 그 외에는 1과 함께 울타리를 설치해주면 된다.

 

# 늑대와 양

r, c = map(int, input().split(' '))  # 목장의 크기
farm = []

for i in range(r):
    farm.append(list(input()))

X, Y = [-1, 0, 1, 0], [0, -1, 0, 1]  # 늑대의 좌우, 상하 확인
safe = True  # 늑대가 양에 인접할 수 있는 지

# . : 빈칸, S : 양, W : 늑대
for i in range(r):
    for j in range(c):
        if farm[i][j] == "W":
            for k in range(4):
                dx, dy = i + X[k], j + Y[k]
                if dx < 0 or dy < 0 or dx >= r or dy >= c:  # 범위 밖을 벗어나는 경우
                    continue  # 넘어가기
                elif farm[dx][dy] == "S":  # 양과 인접한다면
                    safe = False
        elif farm[i][j] == "S":
            continue
        else:
            farm[i][j] = "D"  # 울타리 설치

if safe:
    print(1)
    for i in farm:
        print("".join(i))
else:
    print(0)

 
 
참고한 사이트)
sinsomi.tistory.com/entry/%EB%B0%B1%EC%A4%80-Python-16956%EB%B2%88-%EB%8A%91%EB%8C%80%EC%99%80-%EC%96%91-%EC%B4%88%EC%BD%94%EB%8D%94

[백준 / Python] 16956번 늑대와 양 | 초코더

https://www.acmicpc.net/problem/16956 16956번: 늑대와 양 크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치

sinsomi.tistory.com

 

반응형
'🎯PS' 카테고리의 다른 글
  • [백준_python] 바이러스 || 2606
  • [백준_python] DFS와 BFS || 1260
  • [백준_python] 접미사 배열 || 11656
  • [백준_python] 로프 || 2217
dmaolon
dmaolon
프로그래밍을 공부한 내용을 기록하는 공간입니다.
  • dmaolon
    기록 남기기
    dmaolon
  • 전체
    오늘
    어제
    • ALL (260)
      • ➰ Series (5)
      • 🎯PS (168)
        • Algorithm (15)
      • ☕ Java (11)
      • 🍀 Spring Boot (29)
      • 💬 Database (9)
      • 🐣 Computer Science (14)
      • 👍 Daily (4)
      • 🎁ReactJS (4)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • 태그

    코딩
    자바
    dfs
    알고리즘
    BFS
    프로그래밍
    파이썬
    Spring
    백준
    프로그래머스
  • hELLO· Designed By정상우.v4.10.1
dmaolon
[백준_python] 늑대와 양 || 16956
상단으로

티스토리툴바