Project Euler 62(python 0.056737s)

方針:
(1)立方数を文字列に直してリスト化し、ソートして文字列に戻す
(2)(1)で得た文字列を辞書のキーにし、値を[同じ要素からなる立方数の数, 立方数]として指定する
(3)同じ要素からなる立方数の数が5になれば終了

立方数を分解し、ソート、そして合体させるところまでを一行で書きたいのだが、
思いつかなかった。

速度はいいと思う。

#-*- coding:utf-8 -*-
from datetime import datetime

def Euler62():
	num = 1
	dim = {}
	while True:
		j = num ** 3
		word = sorted(list(str( j )))
		count = ''
		for i in word:
			count += i		
		if count in dim:
			dim[count][0] += 1
			if dim[count][0] == 5:
				return dim[count][1]
		else:
			dim[count] = [1, j]
		num += 1
	
def main():
	start = datetime.now()
	answer = Euler62()
	end = datetime.now()
	print end - start, answer

if __name__ == "__main__":
	main()