https://school.programmers.co.kr/learn/courses/30/lessons/161989
핵심포인트
✅deque()구조를 사용해서 popleft()함수를 이용함
✅start+m> section[0]일 경우에 이미 칠해진것으로 생각할 수 있음
✅이때 안쪽에 있는 while문은 최대한 start를 사용해서 제거하는 거다. 그게 안될경우에 answer+=1을 해서 다음 start가 나오게 되는 것
from collections import deque
def solution(n, m , section):
answer = 0 # 페인트를 칠해야하는 최소 횟수
section = deque(section) # 앞에서부터 차례로 칠하기 위해 데큐 선언
# 페인트 칠을 전부다 할 때까지 반복
while section:
start = section.popleft() # 페인트칠 시작 지점
while section and start + m > section[0]:
section.popleft()
answer += 1
return answer
'코테 준비 > 프로그래머스' 카테고리의 다른 글
[level 2] n^2 배열 자르기 (0) | 2023.05.13 |
---|---|
[level 1] 대충 만든 자판 (0) | 2023.05.10 |
[level 1] 카드 뭉치 (0) | 2023.05.10 |
[level 1] 둘만의 암호 (0) | 2023.05.09 |
[level 1] 개인정보 수집 유효기간 (0) | 2023.05.09 |