728x90
반응형
링크: https://school.programmers.co.kr/learn/courses/30/lessons/12979
아이디어
- 미리 설치된 기지국에서 전파가 전달되지 않는 부분의 범위를 저장하는 리스트 생성
- 그 리스트를 돌며 기지국을 몇개 설치해야하는지 판단
- 판단의 근거는 w*2+1 로 나눠 나머지와 몫이다.
구현
def solution(n, stations, w):
answer = 0
need = []
# 1부터 첫 기지국
if (stations[0]-w-1) > 0:
need.append(stations[0]-w-1)
# 마지막 기지국부터 n
if (n - stations[-1] - w) > 0:
need.append(n - stations[-1] - w)
# 그 사이의 기지국
for i in range(len(stations)-1):
div = stations[i+1] - stations[i] -1
div -= (2*w)
if div > 0:
need.append(div)
for i in need:
answer += i//(w*2+1)
if i%(w*2+1) != 0:
answer += 1
return answer
마무리
- 단순 구현문제
- ez
728x90
반응형
'코테준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 다음 큰 숫자 - Python (0) | 2023.10.04 |
---|---|
[프로그래머스] 큰 수 만들기 - Python (0) | 2023.09.22 |
[프로그래머스] 최고의 집합 - Python (0) | 2023.09.11 |
[프로그래머스] 숫자 게임 - Python (0) | 2023.09.11 |