알고리즘/프로그래머스
기지국 설치 python
1.5볼트
2023. 5. 22. 01:47
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12979
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
일단 기지국 영향을 안 받는 구간을 구한다 그리고 그 구간을 2*w+1로 나눈 몫과 나머지가 있다면 1을 더해준다
구간의 길이가 5 w가 1이라면
5의 길이에 최대로 배치했을 때 1개가 양옆으로 1씩이니 3을 커버할 수 있고 그러면 최소 2개는 필요하다
def solution(n, t, w):
a=s=0
t.append(n+w+1)
for i in t:
b=i-w
s+=((b-a-1)//(2*w+1) +(1 if (b-a-1)%(2*w+1) else 0)) if b-a-1 else 0
a=i+w
return s