문제
풀이
- section 배열이 오름차순으로 정렬되어 있기 때문에 현재 위치로부터 칠할 수 있는 범위('limit')를 설정한다.
- section 배열을 순회하면서 값이 limit을 벗어날 때마다 값을 다시 계산한다.
- 무조건 한번은 칠해야 하기 때문에 answer + 1을 해준다.
소스 코드
function solution(n, m, section) {
let answer = 0;
let limit = section[0] + m - 1;
for (const position of section) {
if (position <= limit) continue;
limit = position + m - 1;
answer += 1;
}
return answer + 1;
}
'알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 프로그래머스 이모티콘 할인행사 (LEVEL 2, 자바스크립트) (0) | 2023.12.30 |
---|---|
[알고리즘 연습] 프로그래머스 택배 배달과 수거하기 (LEVEL 2, 자바스크립트) (0) | 2023.12.26 |
[알고리즘 연습] 프로그래머스 바탕화면 정리 (LEVEL 1, 자바스크립트) (0) | 2023.08.28 |
[알고리즘 연습] 백준 2636 (치즈, 자바스크립트) (0) | 2023.08.27 |
[알고리즘 연습] 프로그래머스 공원 산책 (LEVEL 1, 자바스크립트) (0) | 2023.08.27 |