백준 10709 기상캐스터문제이다.
요구사항
1. 구름은 동쪽(오른쪽)으로만 이동한다 1칸당 1분
2. 구름이 도착하는 시간을 구해라
3. 도착하지않는다면 -1 도착한다면 해당하는 분
function solution(h, w, points) {
let result = [...points];
for (let i = 0; i < h; i++) {
let cnt = -1;
for (let j = 0; j < w; j++) {
if (points[i][j] == "c") cnt = 0;
result[i][j] = cnt;
cnt == -1 ? "" : cnt++;
}
}
console.log(result);
}
let points = [
["c", ".", ".", "c"],
["c", ".", "c", "c"],
[".", ".", ".", "."],
];
solution(3, 4, points);
한줄씪 처리했다 c를 만나면 cnt=0 으로 초기화 하면서 증가값을 새로운 배열 result에 삽입하였다.
cnt++ 같은 경우 c가 없는 줄 '.'에서도 증가하기 떄문에
cnt 시작값 -1으로 주고 비교하여 '.'만 있는경우를 해결하였다.