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에 저장함

    댓글