정구리의 우주정복

4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스 본문

ALGORITHM/SOLVE

4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스

Jungry_ 2020. 5. 8. 23:46
반응형

문제의 저작권은 SW Expert 아카데미 에 있습니다

 

 

t=int(input())
for i in range(t):
    loc = 0 #현재 위치
    pre_loc=0 #가상의 위치
    count = 0 
    bus=[int(x) for x in input().strip().split(' ')] #최대이동 가능 , 정류장 수  , 충전기 개수
    charger = [int(x) for x in input().strip().split(' ')] #충전기 어디어디 있는지 정류장 번호
    line = [0]*(bus[1]+1) #버스 노선개수에 대한 리스트

    for j in range(len(charger)):
        line[charger[j]] +=1
    while loc <= len(line):#location 이 최대값보다 작을동안 실행
        char_loc =[]
        pre_loc = loc
        for k in range(bus[0]): #최대이동가능거리
            if pre_loc+1 < len(line):
                if line[pre_loc+1] ==0:
                    pre_loc += 1
                elif line[pre_loc+1] == 1:
                    char_loc.append(pre_loc+1) #몇번째에 들어있었는지 넣어주기
                    pre_loc +=1
            else :
                break
        if pre_loc +1  ==len(line) :
            break
        else : 
            if len(char_loc) == 0:
                count = 0 
                break
           
            elif len(char_loc) >0:
                loc = char_loc[-1]
  
    print('#'+str(i+1)+' '+str(count))

소스코드가 너무 더럽다 ㅜㅜㅜㅜ 당연히 틀리려니 .. 했는데 한번에 Pass 가 되어서 놀람 ..

 

pre_loc 이라는 가상의 좌표와 loc 이라는 실제 좌표를 요리조리 해서 풀었다

반응형
Comments