프로그래머스/Lv1

[프로그래머스/Javascript] Lv.1 덧칠하기

woo.oing 2026. 1. 27. 15:16

https://school.programmers.co.kr/learn/courses/30/lessons/161989

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

✓ 풀이과정

 

1. 현재 벽 위치(currentIndex)를 선언해두고 칠해야 하는 벽(section)을 순회하면서 현재 위치가 칠해야 하는 벽의 인덱스보다 작거나 같다면 nextWall은 칠해야 하는데 안 칠해진 벽이라고 판단하고 m만큼 칠한 후의 위치를 다시 저장하고 카운트 추가

2. 모든 칠해야 하는 벽을 체크한 후 최종 카운트 반환

 

 

 최종코드

function solution(n, m, section) {
  let answer = 0;
  let currentIndex = 0;

  for (const nextWall of section) {
    if (currentIndex <= nextWall) {
      currentIndex = nextWall + m;
      answer++;
    }
  }

  return answer;
}