Algorithm/baekjoon

늑대와 양

마닐라 2022. 1. 21. 13:27

📍 문제 설명

 

💡 접근

예제 출력이 그렇게 안나와있어서 늑대가 상하좌우로 무한정 이동할 수 있을거라고 생각했는데, 그냥 늑대 상하좌우로 울타리 쳐주면 되는 문제였다.

 

👩‍💻 코드

import java.util.*;

public class Main {
    static int n, m, h, k, answer,cnt;
    static char[][] board,dis;
    static int[] ch,pm, combi;
    static boolean[] visited;
    static boolean flag = true;
    static int[] dx = {-1,1,0,0};
    static int[] dy = {0,0,-1,1};
    public static void main(String[] args) {
        Main T = new Main();
        Scanner kb = new Scanner(System.in);

        n = kb.nextInt(); //목장의 크기
        m = kb.nextInt(); //목장의 크기
        kb.nextLine();
        board = new char[n][m];
        for(int i = 0; i < n; i++) {
            String s = kb.nextLine();
            for(int j = 0; j < m; j++) {
                board[i][j] = s.charAt(j);
            }
        }



        //늑대의 상하좌우 확인하여 울타리로 감싸기
        T.solution(0,0);
        if(flag) {
            System.out.println(1);
            for(int i = 0; i < n; i++) {
                for(int j = 0; j < m; j++) {
                    System.out.print(board[i][j]);
                }
                System.out.println();
            }
        }
        else System.out.println(0);
    }


    static void solution(int x, int y) {
        for(int i = x; i < n; i++) {
            for(int j = y; j < m; j++) {
                //늑대라면 상하좌우 울타리로 감싸기
                if(board[i][j] == 'W') {
                    for(int k = 0; k < 4; k++) {
                        int nx = i + dx[k];
                        int ny = j + dy[k];
                        //해당 지점이 양이 아니고 빈칸이어야 설치가 가능함.
                        if(nx>=0 && ny>=0 && nx<n && ny<m) {
                            if(board[nx][ny] == 'S') {
                                flag = false;
                            } else if(board[nx][ny] == '.'){
                                board[nx][ny] = 'D';
                            }
                        }
                    }
                }
            }
        }
    }
}

'Algorithm > baekjoon' 카테고리의 다른 글

구슬 탈출  (0) 2022.01.22
안전영역  (0) 2022.01.21
사다리 조작  (0) 2022.01.21
스타트링크  (0) 2022.01.19
DSLR  (0) 2022.01.19