알고리즘 풀다보면 종종 그래프에서 각 열마다 중력이 작용하여 아래로 떨어지는게 있는데 이때마다 재귀로 풀었음
이대신 아래 코드처럼 중력이 작용될 것들을 col에 넣고 앞에 빈 곳에는 * 을 넣으면 됨
// 5. 중력 적용: 블록을 아래로 내립니다.
for (let j = 0; j < n; j++) {
// 각 열에 대해
const newCol = [];
for (let i = 0; i < m; i++) {
// 위에서 아래로 읽으면서
if (b[i][j] !== null) {
newCol.push(b[i][j]); // 살아있는 블록만 newCol에 추가
}
}
// newCol의 앞에 null을 추가하여 원래 열의 길이를 맞춥니다.
const padding = Array(m - newCol.length).fill(null);
const finalCol = padding.concat(newCol);
// 재구성된 열을 다시 보드에 씁니다.
for (let i = 0; i < m; i++) {
b[i][j] = finalCol[i];
}
}'그 외 지식' 카테고리의 다른 글
| 대표적인 mcp 서버 5개를 통해 mcp 사용 이전과 이후를 비교해보기 (0) | 2025.12.05 |
|---|---|
| yarn Berry에 대해 (0) | 2022.11.25 |