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

2023. 3. 16. 18:43·PS/프로그래머스
반응형

링크

문제 설명

def solution(n: int, m: int, section: list) -> int:
    ...

https://i.imgur.com/fVssd5C.png

n은 벽의 길이, m은 롤러의길이, section은 칠해야할 구역의 번호가 담긴 리스트를 나타낸다. 롤러를 덧칠하기 위한 최소 횟수를 구하는 문제이다.

제한사항

  • 1 ≤ m ≤ n ≤ 100,000
  • 1 ≤ section의 길이 ≤ n
    • 1 ≤ section의 원소 ≤ n
    • section의 원소는 페인트를 다시 칠해야 하는 구역의 번호입니다.
    • section에서 같은 원소가 두 번 이상 나타나지 않습니다.
    • section의 원소는 오름차순으로 정렬되어 있습니다.

풀이

빈 벽을 만나면 롤러로 m만큼 색칠해나간다고 생각하면 된다. 즉 section을 순회하며 색칠을 시작한 벽의 번호 + m - 1보다 큰 번호를 만날 경우 색칠을 시작한 벽의 번호를 갱신한다. 위 그림의 예시를 들면 2번벽부터 색칠을 시작한다. 3번 벽의 경우 5보다 작기 때문에 이미 색칠이 됐고, 6번벽의 경우 5보다 크기 때문에 다시 색칠을 시작해야한다.

제출 코드

def solution(n: int, m: int, section: list) -> int:
    answer = 1
    curr = section[0]
    for s in section:
        if curr + m <= s:
            answer += 1
            curr = s

    return answer
반응형
저작자표시 비영리 변경금지 (새창열림)
'PS/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 연속된 부분 수열의 합
  • [프로그래머스] 달리기 경주
  • [프로그래머스] 카드뭉치
  • [프로그래머스] 인사고과
덴마크초코우유
덴마크초코우유
IT, 알고리즘, 프로그래밍 언어, 자료구조 등 정리
    반응형
  • 덴마크초코우유
    이것저것끄적
    덴마크초코우유
  • 전체
    오늘
    어제
    • 분류 전체보기 (122)
      • Spring Framework (7)
        • Spring (3)
        • JPA (2)
        • Spring Security (0)
      • Language (51)
        • Java (11)
        • Python (10)
        • JavaScript (5)
        • NUXT (2)
        • C C++ (15)
        • PHP (8)
      • DB (16)
        • MySQL (10)
        • Reids (3)
        • Memcached (2)
      • 개발 (3)
      • 프로젝트 (2)
      • Book (2)
      • PS (15)
        • 기타 (2)
        • 백준 (2)
        • 프로그래머스 (10)
      • 딥러닝 (8)
        • CUDA (0)
        • Pytorch (0)
        • 모델 (0)
        • 컴퓨터 비전 (4)
        • OpenCV (1)
      • 기타 (16)
        • 디자인패턴 (2)
        • UnrealEngine (8)
        • ubuntu (1)
        • node.js (1)
        • 블로그 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Unreal Engine
    NUXT
    웹
    Python
    알고리즘
    memcached
    FPS
    CPP
    JS
    자바
    Unreal
    map
    언리얼엔진4
    파이썬
    프로그래머스
    딥러닝
    php
    C++
    pytorch
    PS
    C
    redis
    블루프린트
    게임 개발
    게임
    mscoco
    MySQL
    select
    클래스
    JavaScript
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
덴마크초코우유
[프로그래머스] 덧칠하기
상단으로

티스토리툴바