https://school.programmers.co.kr/learn/courses/30/lessons/12979
코드
def solution(n, stations, w):
answer = 0
std = w * 2 + 1
start = 1
for s in stations:
if s - w - start > 0:
answer += (s - w - start)//std
if (s - w - start) % std:
answer += 1
start = s + w + 1
if n - start + 1 > 0:
answer += (n - start + 1) // std
if (n - start + 1) % std:
answer += 1
return answer
전파의 도달거리 w의 의미는 w*2+1 크기 만큼의 범위를 커버할 수 있다는 의미이다.
따라서 전파가 전달되지 않는 아파트의 모든 범위를 w*2+1로 나눈 몫의 값이 현재 범위에 설치해야 하는 기지국의 최솟값이다.
'코딩테스트 > programmers (python)' 카테고리의 다른 글
Programmers / 3단계 / 불량 사용자 / python / 2019 카카오 개발자 겨울 인턴십 (0) | 2024.05.04 |
---|---|
Programmers / 3단계 / 숫자 게임 / python (0) | 2024.05.02 |
Programmers / 2단계 / 전력망을 둘로 나누기 / python (0) | 2024.04.10 |
Programmers / 2단계 / 메뉴 리뉴얼 / python (0) | 2024.04.09 |
Programmers / 2단계 / 124 나라의 숫자 / python (0) | 2024.04.08 |