https://school.programmers.co.kr/learn/courses/30/lessons/161989?language=python3
즉, 룰러는 한 번 칠하면 m만큼 칠해야 합니다. 한 구역에 페인트를 여러 번 칠해도 되고 다시 칠해야 할 구역이 아닌 곳에 페인트를 칠해도 되지만 다시 칠하기로 정한 구역은 적어도 한 번 페인트칠을 해야 합니다.
정수 n, m과 다시 페인트를 칠하기로 정한 구역들의 번호가 담긴 정수 배열 section이 매개변수로 주어질 때 롤러로 페인트칠해야 하는 최소 횟수를 return 하는 solution 함수를 작성해 주세요.
sections의 길이가 최소 횟수paint를 선언sections 값이 이미 칠했다면 === s<=paint 넘어간다.def solution(n, m, section):
# m이 1일 경우
if m == 1:
return len(section)
# 앞에서 부터 칠하고 넘어가고
cnt = 0
paint = 0
for s in section:
if s <= paint : # 2를 칠해야 하는데 4까지 칠해졌으면 continue
continue
else :
cnt += 1
paint = s + m - 1
return cnt