Python; 연속된 숫자의 개수 세기

import random

lst = [random.choice([0, 1]) for _ in range(10)]

max_count = 0
current_count = 1

for i in range(1, len(lst)):
    if lst[i] == lst[i-1]:
        current_count += 1
    else:
        current_count = 1
    max_count = max(max_count, current_count)

print(lst)
print("최대 연속 횟수:", max_count)

 

lst는 10개의 0과 1로 랜덤하게 이루어진 리스트임

1부터 배열의 길이 만큼 반복할거임

1 부터 시작하는 이유는 리스트 요소의 이전요소(i-1)와 현재요소(i)을 비교하기 위함임. (0부터 시작하면 -1의 인덱스를 갖는 리스트 요소는 맨 뒤의 요소이기 때문)

만약 이전요소와 현재요소가 같다면 현재개수(current_count)를 증가시킴.

같지 않다면 max_count와 비교해서 더 큰 카운트를 max_count에 저장함

댓글