#!/bin/env python
# coding: utf-8
#===========================================================================
# 수행시간 측정을 위한 코드
import timeit
start = timeit.default_timer()
#===========================================================================
1. 연속된 문자열중 가장 많이 사용된 문자의 갯수를 구하는 코드
#===========================================================================
# 가장 많이 사용된 문자의 반복 횟수
from itertools import groupby
def long_repeat(data):
return max([len(list(g)) for k, g in groupby(data)], default=0
#==========================================================================
2. 테스트 코드
#===========================================================================
# 테스트 코드
if __name__ == '__main__':
print(long_repeat('sdsffffse')) # 예상 실행결과 : 4
print(long_repeat('ddvvrwwwrggg')) # 예상 실행결과 : 3
print(long_repeat('abababaab')) # 예상 실행결과 : 2
print(long_repeat('')) # 예상 실행결과 : 0
#===========================================================================
#===========================================================================
# 수행시간 측정을 위한 코드
stop = timeit.default_timer()
print(f"수행시간 : {stop - start:0.6f}")
#===========================================================================
3. 실행결과
4. 참고 코드
- sum() 매소드를 사용
from itertools import groupby
def long_repeat(data):
return max((sum(1 for _ in g) for k, g in groupby(data)), default=0)
반응형
'Programming > Python' 카테고리의 다른 글
Python : 설치 시 에러 (error: the control flow of function ‘binascii_crc32’) (0) | 2020.03.08 |
---|---|
Python : 태양의 각도 구하기 (0) | 2020.03.01 |
Python : Depth 있는 List 를 단일 List 로 정리 (0) | 2020.02.29 |
Python : List 빈도 수대로 정렬 (0) | 2020.02.29 |
Python : 리스트 안에 중복된 자료를 리스트로 반환 (0) | 2020.02.29 |