https://school.programmers.co.kr/learn/courses/30/lessons/161989
def solution(n, m, section):
answer = 1
number = section[0] + m - 1
for i in range(1,len(section)):
if section[i] <= number:
continue
else:
number = section[i] + m - 1
answer += 1
return answer
무슨 알고리즘인지 잘 모르겠다.
그냥 단순히 구현으로 풀어보았다.
우선 한번에 어디까지 칠해져있는지를 나타내는 Number 변수를 선언한다
이 변수는 section[0]와 m -1을 더한 숫자로 초기화한다.
반복문을 돌며,
만약 section[i]가 i보다 작다면,
이미 칠했던 것에 section[i]가 포함되어 있다는 것이니 continue
아니라면, 붓질을 한번 더 해야하니 answer + 1
그리고 그 section[i]부터 m - 1만큼 더해 number 변수를 갱신해준다.
'알고리즘' 카테고리의 다른 글
프로그래머스)바탕화면 정리 (0) | 2023.03.24 |
---|---|
프로그래머스) 카드뭉치 (0) | 2023.03.19 |
백준)양 (0) | 2023.03.02 |
백준)1로 만들기 (0) | 2023.02.28 |
백준)정수 삼각형 (0) | 2023.02.28 |