파이썬 리스트에서 가장 많이 연속으로 반복되는 숫자의 반복횟수
조회수 3800회
예를들면 리스트에 [ 2,2,2,4,4,5,6,1,1,1,1,1,2,3,1,4]
이런식으로 있는데
여기서 가장 많이 연속으로 반복되는 숫자인 1이 5번 반복되므로 출력을 5 라고 하고싶은데 어떻게 해야 할까요? 조건을 어떻게 주어야 할지 모르겠네요.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
안녕하세요. 조건을 어떻게 주어야하냐면 인덱스번호로 li[i] == li[i+1]나 li[i-1] == li[i]로 비교하면됩니다.
li = [2, 2, 2, 4, 4, 5, 6, 1, 1, 1, 1, 1, 2, 3, 1, 4] max_count = 0 count = 0 for i in range(0, len(li)-1): if li[i] == li[i+1]: count += 1 else: if max_count < count: max_count = count count = 0 print(max_count)
또는
li = [2, 2, 2, 4, 4, 5, 6, 1, 1, 1, 1, 1, 2, 3, 1, 4] max_count = 0 count = 0 for i in range(0, len(li)-1): if li[i] == li[i+1]: count += 1 else: if max_count < count: max_count = count max_num = li[i] count = 0 print(str(max_num) + "가 " + str(max_count) + "번연속으로 나왔습니다.")
-
- scala 로 해보기
List(2,2,2,4,4,5,6,1,1,1,1,1,2,3,1,4).groupBy(identity).mapValues(_.size).maxBy(_._2) // (1,6) // 1이 6개 List(2,2,2,4,4,5,6,1,1,1,1,1,2,3,1,4).groupBy(identity).mapValues(_.size).maxBy(_._2)._2 // 6
댓글 입력