Skip to content

Latest commit

 

History

History
50 lines (42 loc) · 1.26 KB

File metadata and controls

50 lines (42 loc) · 1.26 KB

문제

이력

  1. 시간초과남
  2. while 문의 조건
  3. 구상 자체

내 풀이

def solution(queue1, queue2):
    answer = -1
    index1=0 # 내거 빠질거
    index2=0 # 더할거
    index3=0 # 내거 빠진거가 다시 들어오는 양상
    index4=0 # 넣던거 빼기
    count = 0 #  몇번의 try ?
    half_count = len(queue1)
    total_sum = sum(queue1) + sum(queue2)
    travel = sum(queue1)
    if total_sum %2 ==1 : 
        return -1
    ideal = total_sum //2
    while  count <= half_count *4: # 4 가 포인트
        if travel < ideal and index2<half_count:
            travel +=queue2[index2]
            index2+=1
        elif  travel < ideal and index2>=half_count and index3< half_count:
    
            travel +=queue1[index3]
            index3+=1
        elif travel == ideal:
            answer= count
            break
        elif travel > ideal and index1< half_count:
            travel -=queue1[index1]
            index1+=1
        elif  travel > ideal and index1>=half_count and index4< half_count:
            travel -=queue2[index4]
            index4+=1
        else:
            break
        count+=1
        
    return answer