LEETCode 289 Game of Life

전재우·2021년 7월 1일
0

LEETCode 289 Game of Life

구현전 생각

단순 구현 문제

아쉬운점

단순 구현 문제라 쉽게 풀었다 하지만 좋은 코드인지는 의문!

코드

class Solution {
    public void gameOfLife(int[][] board) {
        int[][] nboard = new int[board.length][board[0].length];
	        int[] dx = {-1,-1,-1,0,0,1,1,1};
	        int[] dy = {-1,0,1,-1,1,-1,0,1};
	        
	        for (int i = 0; i < board.length; i++) {
				for (int j = 0; j < board[0].length; j++) {
					int count = 0;
					//산 사람일때 
					if(board[i][j]==1) {
						
						for (int k = 0; k < 8; k++) {
							int nx = i+dx[k];
							int ny = j+dy[k];
							
							if(nx<0||ny<0||nx>=board.length||ny>=board[0].length) continue;
							if(board[nx][ny]==1)
								count++;
						}
						if(count==2||count==3) {
							nboard[i][j]=1;
						}
					}
					
					else {
						
						for (int k = 0; k < 8; k++) {
							int nx = i+dx[k];
							int ny = j+dy[k];
							
							if(nx<0||ny<0||nx>=board.length||ny>=board[0].length) continue;
							if(board[nx][ny]==1) count++;
						}
						if(count==3) {
							nboard[i][j]=1;
						}
					}

				}
			}
            for (int i = 0; i < board.length; i++) {
				for (int j = 0; j < board[0].length; j++) {
                    board[i][j]=nboard[i][j];
                }
            }
	    }
   
}
profile
코린이

0개의 댓글