정답
- 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
'Algorithm' 카테고리의 다른 글
로또의 최고 순위와 최저 순위 / 프로그래머스 (0) | 2025.03.10 |
---|---|
기사단원의 무기 / 프로그래머스 (0) | 2025.03.04 |
소수 만들기 / 프로그래머스 (0) | 2025.03.01 |
모의고사 / 프로그래머스 (0) | 2025.02.28 |
과일장수 / 프로그래머스 (0) | 2025.02.27 |