본문 바로가기
프로그래머스/2단계

(Python/LV2)덧칠하기

by windy7271 2023. 3. 14.
728x90
반응형

문제출처:https://school.programmers.co.kr/learn/courses/30/lessons/161989

풀이:

def solution(n, m, section):

    pain_pan = [0] * n
    for i in section:
        pain_pan[i-1] = 1

    left,right = section[0],section[-1]
    count = right-left + 1
    res = 0
    while True:
        if count <= m:
            res += 1
            return res
        else:
            count -= m
            res += 1
    return res
    
54 / 100

 

 

def solution(n, m, section):
	paint, answer = section[0] , 0
    for i in section:
        if paint <= i:
            paint = i + m
            answer += 1
    print(answer)

 

만약 8, 4, [2, 3, 6] 일때

paint 가 안 칠해졌을때 m길이 (4) 만큼 더해주고 answer 에 1 을 더해주는 방식

 

ex) paint 는 1이고 section 에서 뽑은 2가 아직 색칠이 안됐으니 paint를 칠해줘야한다. >> paint 5로 최신화 5까지 칠했음

다음 3은 이미 칠했으니 if문 안 들어가고 그 다음 6 꺼 실행

반응형

댓글