last
를 0으로 초기화forEach()
++result
function solution(n, m, section) {
let result = 0;
let last = 0;
section.forEach((s) => {
if (s > last) {
++result;
last = s + m - 1;
}
});
return result;
}
처음에 예시만 보고 최댓값과 최솟값을 구해서 롤러로 나누는 단순한 방식으로 짰다가 칠해야 하는 구역이 롤러의 길이보다 크게 떨어져 있으면 안 된다는 걸 알고 고쳤다.
이렇게 확인해야 하는 모든 값들을 하나하나 보는 걸 그리디라고 하는 것 같다..!