Search
Duplicate

기지국 설치

Level
3
문제 진행 상태
코드 완료
해설 완료
알고리즘 & 자료구조
그리디 알고리즘
리스트
정답률 (%)
53
태그
연습문제

문제 링크

풀이 과정

본 풀이 과정은 코드 주석으로 대체합니다.

전체 코드

def solution(n, stations, w): ''' 기지국을 최소로 설치 -> 기지국 범위가 최대한 겹치치 않도록 해야함 현재 지점 C에 기지국이 설치되지 않은 경우 - C+W 지점에 기지국 설치(center) -> 왼쪽 지점부터 순서대로 채우기 위함 - C+W+(W+1) 위치로 현재 지점을 이동 현재 지점 C에 기지국이 설치된 경우 - D+W+1 지점으로 현재 지점을 이동 - D: 설치된 기지국 중심 - D-W <= C <= D+W ''' answer = 0 current = 1 # 현재 위치 idx = 0 # 현재 기지국 인덱스 while current <= n: if (idx < len(stations)) and (stations[idx]-w <= current <= stations[idx]+w): current = stations[idx] + w + 1 idx += 1 else: answer += 1 current += (2*w + 1) return answer
Python
복사