728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12979
분석
아파트 개수 11, 기지국 설치된 아파트 번호 [4, 11], 전파의 도달 거리 1
1. 첫 기지국 앞 반경 못미치는 거리 추가 (2) [2]
2. 중간 기지국 반경 못미치는 거리 추가 (9-5=4) [2 ,4]
3. 마지각 기지국 반경 못미치는 거리 추가 (0) [2,4,0]
4. 거리 리스트 돌면서 거리/반경*2+1 더하기
2 ➔ 2 / (1*2+1) = 2/3 = 1 (올림)
4 ➔ 4 / (1*2+1) = 4/3 = 2 (올림)
0 ➔ 0 / (1*2+1) = 0
풀이
import math
def solution(n, stations, w):
answer = 0
dist=[]
dist.append(stations[0]-w-1) # 앞
for i in range(1,len(stations)): # 중간
dist.append((stations[i]-w-1)-(stations[i-1]+w))
dist.append(n-(stations[-1]+w)) # 뒤
for i in dist:
answer += math.ceil(i/(2*w+1))
return answer
728x90