본문 바로가기
Algorithm/스택&큐&덱&힙

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

by HANNI하니 2023. 4. 24.

사용 언어 - Python3

문제 - 덧칠하기

 

프로그래머스

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

programmers.co.kr

 

 

정답

큐를 활용해서 리스트 안에서 인접한 두개의 값 비교하기 (정답 맞춘 여부 X)

1. deque(section)

2. 가장 왼쪽 값부터 없애주면서 start

3. start에서 m만큼 더한 값(페인트 롤러 범위) > section 리스트원소의 두번째 값(첫번째 값은 없어짐) section[0]

페인트 롤러 범위 안에 section 리스트 안 다른 원소도 포함되어 있다면 그 값도 없애준다.

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

 

 

 

레퍼런스

  • 정답 참고
 

프로그래머스 - 덧칠하기 (python)

deque를 활용해서 풀 수 있었던 문제

velog.io

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글