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 answer
728x90

+ Recent posts