코딩하는 해맑은 거북이

[Python] 덧칠하기 - 프로그래머스 본문

코딩테스트

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

#CJE 2023. 3. 10.
해당 글은 프로그래머스 문제 '덧칠하기 '을 다룬다.

문제

https://school.programmers.co.kr/learn/courses/30/lessons/161989

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

설명

해당 문제는 section이 오름차순으로 되어있으므로 순차적으로 탐색해보면 된다.

시작점은 section[0]이고, 페인트칠은 section[0]+m-1 만큼 진행된다.

section의 인덱스 1번째 부터 탐색해보며

현재 section이 만약 페인트칠을 벗어난 공간에 있다면, 다시 페인트칠을 해야하므로 answer +1을 하고

start를 현재 section으로 업데이트 해준다.

 

코드

def solution(n, m, section):
    answer = 1
    start = section[0]
    for sec in section[1:]:
        if sec > start + m - 1:
            answer += 1
            start =  sec
    return answer

     

 

 

Comments