#!/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)

 

 

반응형

+ Recent posts