프로그램

[파이썬] 문제 : 동전 전지기 10번, 앞면/뒷면 연속 나오는 위치 찾기

오디세이99 2022. 12. 29. 20:11
728x90
반응형

import random

lst = []                              # 동전 던지기 결과 리스트
pos = [0]                             # 연속 시작 위치 저장 리스트. 처음 인덱스 0 지정
for i in range(10):                   # 10개의 동전던지기 반복
    n = random.randint(0, 1)           # 앞,뒤 공전던지기 결과
    lst.append(n)                      # 결과 리스트에 추가
    if i > 0 and lst[-1] != lst[-2]:  # 앞의 동전던지기와 지금 동전던지기가 다르면 pos 에 인덱스 추가
        pos.append(i)

pos.append(9)                          # 마지막 위치 추가

max_cnt = 0                            # 가장 큰 연속 횟수
cnt = 0
for i in range(1, len(pos)):           # 연속 시작 위치 리스트
    cnt = pos[i] - pos[i-1]            # 지금 위치에서 앞 위치를 빼면 연속 횟수가 됨
    if cnt > max_cnt:                  # 연속 회수가 가장 큰 것으로 저장
        max_cnt = cnt

# print(lst, pos, max_cnt)              # 디버그용
print(lst)
print('최대 연속 길이:',max_cnt)

728x90
반응형