기술나눔

【LeetCode】인생의 게임

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


1. 제목

바이두 백과사전(Baidu Encyclopedia)에 따르면, 생명(Life)이라고 불리는 생명 게임(Game of Life)은 영국의 수학자 존 호튼 콘웨이(John Horton Conway)가 1970년에 발명한 세포형 자동 장치입니다.

m × n 그리드를 포함하는 패널이 주어지면 각 그리드는 셀로 간주될 수 있습니다. 각 셀에는 초기 상태가 있습니다. 즉, 살아있는 셀(live)의 경우 1, 죽은 셀(dead)의 경우 0입니다. 각 세포와 8개의 인접 세포(수평, 수직, 대각선)는 다음과 같은 네 가지 생존 법칙을 따릅니다.

살아있는 세포를 둘러싸고 있는 8개의 위치에 있는 살아있는 세포의 수가 2개 미만이면, 그 위치에 있는 살아있는 세포는 죽게 됩니다.
살아있는 세포 주변의 8개 위치에 2~3개의 살아있는 세포가 있는 경우 해당 위치의 살아있는 세포는 여전히 살아 있습니다.
살아있는 세포 주위의 8개 위치에 3개 이상의 살아있는 세포가 있는 경우, 그 위치에 있는 살아있는 세포는 죽게 됩니다.
만약 죽은 세포 주변에 정확히 3개의 살아있는 세포가 있다면, 그 위치의 죽은 세포는 부활하게 됩니다.
다음 상태는 세포가 동시에 태어나고 죽는 현재 상태의 모든 세포에 위의 규칙을 동시에 적용하여 형성됩니다. mxn 그리드 패널의 현재 상태를 제공하고 다음 상태를 반환합니다.

예시 1:
여기에 이미지 설명을 삽입하세요.

입력: 보드 = [[0,1,0],[0,0,1],[1,1,1],[0,0,0]]
출력: [[0,0,0],[1,0,1],[0,1,1],[0,1,0]]
예 2:
여기에 이미지 설명을 삽입하세요.

입력: 보드 = [[1,1],[1,0]]
출력: [[1,1],[1,1]]

힌트:

m == 보드 길이
n == 보드[i].길이
1