단순 구현 문제
단순 구현 문제라 쉽게 풀었다 하지만 좋은 코드인지는 의문!
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];
}
}
}
}