https://programmers.co.kr/learn/courses/30/lessons/12979
1. 유형
구현
2. 풀이
1) station의 요소별로 왼쪽 끝과 오른쪽 끝을 구함
2) 그러면 위 처럼 빨간색의 범위를 아는게 가능
3) 기지국의 범위는 w*2+1이다. 이것이 빨간색에 몇개 설치되는지 구할수있음
3. 코드
def calc(mok, na):
if mok>0 and na>0:
return mok+1
elif mok>0 and na ==0:
return mok
elif mok==0 and na>0:
return 1
else:
return 0
def solution(n, stations, w):
answer = 0
end = 0
size = w*2+1
for station in stations:
left = station-w
right = station+w
dist = left - end -1
end = right
if dist > 0:
mok = dist//size
na = dist%size
answer += calc(mok, na)
k = n - end
if k>0:
mok = k//size
na = k%size
answer += calc(mok, na)
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 베스트앨범 (0) | 2021.05.26 |
---|---|
프로그래머스 - 가장 먼 노드 (0) | 2021.05.25 |
프로그래머스 - 키패드 누르기 (0) | 2021.05.22 |
프로그래머스 - (python) 배달 (0) | 2021.05.19 |
프로그래머스 - (Python)실패율 (0) | 2021.05.12 |