728x90
정답
def solution(n, m, section):
answer = 0
wall = [0 for i in range(0, n)]
for i in section:
wall[i-1] = 1
for i in range(0, len(wall)):
if wall[i] == 1:
if i + m >= len(wall):
answer += 1
break
else:
for j in range(0, m):
wall[i+j] = 0
answer += 1
return answer
wall 리스트를 만들어서 section을 통해 페인트칠이 필요한 인덱스를 wall 리스트에 표시합니다.
그리고 for문을 돌면서 wall의 값이 1인 경우 페인트를 칠하고 answer변수에 1을 더해주는 방식으로 풀었습니다.
마지막에는 list범위를 나가지 않도록 if i + m >= len(wall) 를 사용해주었습니다.
728x90
'프로그래머스 코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 옹알이 (2) Python (1) | 2024.07.02 |
---|---|
[프로그래머스]로또의 최고 순위와 최저 순위 Python (0) | 2024.07.02 |
프로그래머스 소수 만들기 Python (0) | 2024.06.30 |
프로그래머스 모의고사 Python (0) | 2024.06.28 |
프로그래머스 과일 장수 Python (0) | 2024.06.28 |