강의로 돌아가기
윤병인

정확성 테스트 2,10,11 번만 통과를 못하는데, 왜그럴까요?


# -*- coding: utf-8 -*-

def solution(left, right):
  total = 0
  indexOfLeft = 0
  indexOfRight = 0
  lengthOfLeft = len(left)
  lengthOfRight = len(right)

  while( (lengthOfLeft != indexOfLeft) and (lengthOfRight != indexOfRight) ):
    l = left[indexOfLeft]
    r = right[indexOfRight]

    if l > r :
      total = total + r
      indexOfRight = indexOfRight + 1
      continue

    if l <= r :
      additionalIndex = 0
      for i in range(indexOfLeft+1, lengthOfLeft):
        l = left[i]
        if l > r :
          additionalIndex = additionalIndex + 1
          break

      if additionalIndex > 0 :
        indexOfLeft = indexOfLeft + additionalIndex
      else :
        indexOfLeft = indexOfLeft + 1
        indexOfRight = indexOfRight + 1
      continue

  return total 

이것저것 많이 해봤는데,,, 제 코드가 작동하지 않는 경우를 모르겠습니다. 조언 부탁드립니다.

1 개의 답변
YooSangwon

left = [1, 1, 1, 1, 3]
right = [2, 3, 1, 1, 1]
인 경우에 정답이 3이 나와야하는데 2가 나오지 않는지 확인해보세요.
저도 같은 번호만 통과 못해서 케이스 추가하다가 발견했네요.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.