[프로그래머스] 덧칠하기 / JavaScript / Level 2

KimYoungWoong·2023년 3월 8일
0

Programmers

목록 보기
59/60
post-thumbnail

🚩문제 주소


📄 풀이

그리디

  1. 배열의 첫번째요소에 롤러의 길이-1을 더해서 롤러가 칠할 수 있는 길이의 변수 check를 만들어줍니다.

  2. section의 첫 번째 요소가 check변수 보다 작거나 같다면 덧칠이 되는 것 이므로 continue 합니다.

  3. 그렇지 않다면 롤러의 길이가 부족한 것 이므로 check 변수를 업데이트 해주고 정답을 1 늘립니다.

  4. 반복이 종료되면 마지막 덧칠하는 것을 세지 못하므로 정답에 추가로 +1을 해주어서 반환합니다.



👨‍💻 코드

function solution(n, m, section) {
    let answer = 0;
    let check = section[0] + (m-1);
    for (const val of section) {
        if (val <= check) continue;
        else {
            check = val + (m-1);
            answer++;
        }
    }
    return answer + 1;
}

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글