워게임(WarGame)/PythonChallenge
[Python challenge Level10] - bull (개미수열)
devanix
2011. 6. 27. 01:04
[ Problem ] - http://www.pythonchallenge.com/pc/return/bull.html
♧ 소스를 보면 황소에 링크(sequence.txt)가 걸려 있다. Sequence.txt 파일을 보면 'a = [1, 11, 21, 1211, 111221,' 라는 내용이 보인다. ♧ 이것은 '보고 말하기 수열(look and say sequence)'로 우리에겐 '개미수열'로 프랑스 소설가 베르나르 베르베르의 소설 [개미]로 많이 알려졌다.
♧ 위의 그림과 같이 앞에서 부터 중복되는 숫자의 개수와 그의 수를 차례로 보고 말하는 수열이다. (※ 자세한 내용은 다음 [참조 1] [참조 2] 페이지를 참고하자.) ♧ 즉, 위의 1로 시작하는 '개미수열'의 30번째 단계의 길이(len(a[30]) = ?)를 (※ 해당 솔루션 문서 참조) import re curr = '1' for each in range(30): match = re.findall("(\d)(\\1*)", curr) curr = ''.join([str(len(k+y))+k for k,y in match]) print len(curr)
|
[ Solution ] - http://www.pythonchallenge.com/pcc/return/5808.html
(※ 문제에 대한 다양한 해결법은 링크 참조.)