프로그래머스 L1 - 덧칠하기

2024. 3. 20. 01:42알고리즘/프로그래머스

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

처음에는 m크기만큼의 범위를 만들어서 영역을 모두 순회하면서 칠해야하는 부분이 범위에 속해있는지를 확인하는 로직을 짰지만 시간초과가 계속 나왔다.

내가 현재 칠한 부분보다 칠해야하는 부분이 크다면 그 영역을 칠해주고 현재 칠한 부분을 업데이트하면 된다.

무식하게 풀어보고, 안되면 다른 로직을 생각하자.

 

function solution(n, m, section) {
  let answer = 0;
  let part = 0;
  section.forEach((n) => {
    if (n > part) {
      part = n + m - 1;
      answer++;
    }
  });
  return answer;
}