728x90
테스트케이스는 다 맞았으나 시간 초과가 났다. 전파가 잡히지 않는 구간을 list 에 넣어주고 연산을 통해 계산을 하는 방법으로 해야 시간 초과가 나지 않는다.
def solution(n, stations, w):
answer = 0
# 전달 되는 아파트들 찾은 후 그 개수를 전체 개수에서 뺀 후 계산
okay = [0] * n # 전달 가능 아파트 리스트
for i in range(0,len(stations)):
apart = stations[i]-1
start = apart-w
finish = apart+w+1
if start < 0:
start = 0
if finish > len(okay):
finish = len(okay)
for j in range(start,finish):
okay[j]=1
for i in range(0,len(okay)):
if okay[i]==0:
index = i+w
answer+=1
for j in range(index-w,min(index+w+1,len(okay))):
okay[j]=1
return answer728x90
'🟢 알고리즘 문제 풀이 > Programmers' 카테고리의 다른 글
| [파이썬] 프로그래머스 보석 쇼핑 (0) | 2023.02.08 |
|---|---|
| [파이썬] 프로그래머스 불량 사용자 (0) | 2023.02.07 |
| [파이썬] 프로그래머스 베스트앨범 (0) | 2023.02.06 |
| [파이썬] 프로그래머스 숫자 게임 (0) | 2023.02.06 |
| [파이썬] 프로그래머스 야근 지수 (0) | 2023.01.30 |