문제분류 : 코팅테스트 연습
난이도 : Level 2
출처 : 프로그래머스 - 덧칠하기
벽 객체로 덧칠 할 부분을 0, 덧칠안해도 될 부분을 1로 두고, 덧칠할 부분을 만나면, 덧칠할 부분 + m 까지 덧칠하자.
function solution(n, m, section) {
var answer = 0;
var stack = {};
for(var i =1; i<=n; i++){
stack[i] = 1;
}
section.map((data)=>{
stack[data] = 0;
})
section.map((d)=>{
if(stack[d] == 0){
for(var k =d; k<d+m; k++){
if(stack[k] == 0){
stack[k] =1;
}
}
answer++;
}
})
return answer;
}
이 문제는 바로 어떻게 풀지 생각이 났다. 프로그래머스 LV2. 기지국 설치 문제와 비슷하여, 같이 풀어보면 도움이 많이 될 것 같다.