[백준] 16956번 : 늑대와 양 - Java(자바)

강재원·2022년 11월 24일
0

[코딩테스트] Java

목록 보기
187/200



https://www.acmicpc.net/problem/16956

import java.util.*;
public class Main {
    public static void main(String args[]) {
        Scanner s=new Scanner(System.in);
        int r=s.nextInt();
        int c=s.nextInt();
        char arr[][]=new char[r][c];
        for(int i=0;i<r;i++){
            String st=s.next();
            for(int j=0;j<c;j++){
                arr[i][j]=st.charAt(j);
            }
        }
        
        boolean check=true;
        int dx[]={0,0,1,-1};
        int dy[]={1,-1,0,0};
        
        for(int i=0;i<r;i++){
            for(int j=0;j<c;j++){
                if(arr[i][j]=='W'){
                    for(int k=0;k<4;k++){
                        int x=i+dx[k];
                        int y=j+dy[k];
                        
                        if(x>=0 && x<r && y>=0 && y<c){
                            if(arr[x][y]=='.'){
                                arr[x][y]='D';
                            }
                            else if(arr[x][y]=='S'){
                                check=false;
                                System.out.println(0);
                                return;
                            }
                        }
                    }
                }
            }
        }
        
        if(!check) System.out.println(0);
        else{
            System.out.println(1);
            for(int i=0;i<r;i++){
                for(int j=0;j<c;j++){
                    System.out.print(arr[i][j]);
                }
                System.out.println();
            }
        }
    }
}
profile
개념정리 & 문법 정리 & 알고리즘 공부

0개의 댓글