[프로그래머스] 덧칠하기

이정연·2023년 5월 4일
0

CodingTest

목록 보기
155/165

문제 링크

과정 설계

그리디 접근법을 가져다 썼다.

section은 정렬되어 있으므로 맨 앞의 원소를 기준으로 최대로 페인트칠 할 수 있는 칸까지 칠한다.

예를 들어, m=4, [2,3,6]이면

2~5까지 칠할 수 있다.

그러면 section의 0번 원소가 5 초과가 될 때까지 pop을 하고 페인트칠 횟수(정답)를 증가시킨다.

section이 빌 때까지 반복하면 최종 정답 도출

CODE

from collections import deque
def solution(n, m, section):
    answer = 0
    section = deque(section)
    while section:
        flg = section[0]
        while section and section[0] < flg+m:
            section.popleft()
        answer += 1
    return answer
profile
0x68656C6C6F21

0개의 댓글