작성
·
171
0
n = 100
m = 100
s = '3 3 1 4 5 2 2 5 2 1 2 2 1 1 4 1 4 3 3 5 1 5 1 3 4 5 4 5 2 4 2 1 1 4 2 1 5 3 1 3 1 1 1 2 4 4 5 5 5 5 3 2 5 5 3 2 3 4 1 3 3 4 5 1 3 1 3 2 3 1 2 3 2 5 5 4 2 3 1 2 3 2 4 5 2 4 4 4 4 3 1 5 2 2 1 3 2 5 4 1'
a = list(map(int, s.split()))
lt = 0
rt = 1
cnt = 0
while(True):
temp = sum(a[lt:rt])
if lt >= n:
break
elif rt >= n:
lt += 1
rt = lt + 1
elif temp < m:
rt += 1
elif temp >= m:
if temp == m:
cnt += 1
lt += 1
rt = lt + 1
print(cnt)
혹시 이런방식으로 구현을 하면 어느부분에서 틀린걸까요ㅠㅠ
몇가지 케이스에선 정답이 나오는데 위의 케이스에선 오류가납니다
답변 3
0
0
0
3 38 100 4 40 100 5 44 100 7 45 100 14 48 100 16 49 100 19 52 100 20 53 100 24 56 100 28 62 100 30 64 100 32 65 100 33 66 100 39 73 100 42 74 100 46 77 100 49 83 100 50 84 100 53 87 100 55 89 100 58 92 100 60 94 100
해당코드에선 위처럼 (lt, rt, sum)총 22가지 방법이 나옵니다. 어느 케이스가 빠진건지 잘모르겠습니다ㅠ