Algorithm
덧칠하기 / 프로그래머스
김예나
2025. 3. 3. 00:04
정답
- start + m - 1 을 하면 페인트를 칠할 수 있는 최대 범위의 수가 나옴
- 칠해야 하는 다음 구역이 해당 최대 범위의 수에 포함된다면 넘어가고 그 수보다 크다면 페인트를 칠하는 횟수를 한번 증가시키고 해당 다음 구역부터 페인트칠 시작
- section[0]부터 시작하는 것이 핵심
def solution(n, m, section):
ans = 1
start = section[0] #페인트 칠하는 시작점
for i in range(1, len(section)):
if start + m - 1 < section[i]:
ans = ans + 1
start = section[i]
return ans