강의로 돌아가기
김동연

테스트 케이스 추가 요청

아래 코드는 제 코드인데 100점/100점 받는 코드이지만
반례가 있어 테스트케이스 추가 요청을 드립니다.
반례 :
q1 = [5, 1]
q2 = [1, 3]
return = 3

from collections import deque
def solution(queue1, queue2):
    total_queue = queue1+queue2
    total_deque = deque(total_queue)
    total_sum = sum(total_deque)
    target = total_sum//2
    count = 0
    start = 0
    end = len(queue1)-1
    curr_sum = sum(queue1)

    if total_sum%2 == 1:
        return -1

    while start <= end and end < len(total_deque)-1:
        if curr_sum == target:
            return count
        elif curr_sum > target:
            curr_sum -= total_deque[start]
            start += 1
            count += 1
        elif curr_sum < target:
            end += 1
            curr_sum += total_deque[end]
            count += 1

    return -1
작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def solution(queue1, queue2):
    total_sum = sum(queue1) + sum(queue2)
    count = 0

    #정수배열이기때문에 target 이 float 이면 만들 수가 없다
    if total_sum%2 == 1: 
        return -1

    target = total_sum//2

    while queue1 and queue2:
        if sum(queue1) == target:
            return count
        if sum(queue1) > target:
            curr = queue1.popleft()
            queue2.append(curr)
            count += 1
        elif sum(queue2) < target:
            curr = queue2.popleft()
            queue1.append(curr)
            count +=1

    #여기까지오면 두큐 중 한큐가 비어있는 상태
    return -1
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다.