回答編集履歴
3
コード修正
test
CHANGED
@@ -22,19 +22,15 @@
|
|
22
22
|
|
23
23
|
abc = 'abcdefghijklmnopqrstuvwxyz'
|
24
24
|
|
25
|
-
# 解析したいtextを小文字abc順にcount
|
26
|
-
|
27
25
|
text_lower = text.lower()
|
28
26
|
|
29
27
|
counts = [text_lower.count(c) for c in abc]
|
30
|
-
|
31
|
-
# 最頻値のindexの文字を返す
|
32
28
|
|
33
29
|
return abc[counts.index(max(counts))]
|
34
30
|
|
35
31
|
|
36
32
|
|
37
|
-
|
33
|
+
'''
|
38
34
|
|
39
35
|
# --- TEST ---
|
40
36
|
|
@@ -60,17 +56,49 @@
|
|
60
56
|
|
61
57
|
import random
|
62
58
|
|
59
|
+
import string
|
60
|
+
|
63
61
|
import time
|
64
62
|
|
65
|
-
abc = 'abcdefghijklmnopqrstuvwxyz'
|
66
63
|
|
67
|
-
random_text = ''.join(random.choice(abc) for _ in range(10 ** 6))
|
68
64
|
|
69
|
-
start = time.time()
|
70
65
|
|
71
|
-
print(checkio(random_text))
|
72
66
|
|
67
|
+
def check_solve_time(N=1):
|
68
|
+
|
69
|
+
random_text = ''.join(random.choices(string.ascii_letters, k=10 ** N))
|
70
|
+
|
71
|
+
start = time.time()
|
72
|
+
|
73
|
+
checkio(random_text)
|
74
|
+
|
75
|
+
elapsed_time = time.time() - start
|
76
|
+
|
77
|
+
return 'O(10 ** {}): {:.8f}sec'.format(N, elapsed_time)
|
78
|
+
|
79
|
+
|
80
|
+
|
73
|
-
print('
|
81
|
+
print('\n'.join(map(check_solve_time, range(1, 9))))
|
82
|
+
|
83
|
+
''' output
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
O(10 ** 1): 0.00002789sec
|
88
|
+
|
89
|
+
O(10 ** 2): 0.00002408sec
|
90
|
+
|
91
|
+
O(10 ** 3): 0.00008702sec
|
92
|
+
|
93
|
+
O(10 ** 4): 0.00072193sec
|
94
|
+
|
95
|
+
O(10 ** 5): 0.00718522sec
|
96
|
+
|
97
|
+
O(10 ** 6): 0.07049918sec
|
98
|
+
|
99
|
+
O(10 ** 7): 0.72828794sec
|
100
|
+
|
101
|
+
O(10 ** 8): 7.26664400sec
|
74
102
|
|
75
103
|
'''
|
76
104
|
|
2
コード修正
test
CHANGED
@@ -62,7 +62,9 @@
|
|
62
62
|
|
63
63
|
import time
|
64
64
|
|
65
|
+
abc = 'abcdefghijklmnopqrstuvwxyz'
|
66
|
+
|
65
|
-
random_text = ''.join(random.choice(a
|
67
|
+
random_text = ''.join(random.choice(abc) for _ in range(10 ** 6))
|
66
68
|
|
67
69
|
start = time.time()
|
68
70
|
|
1
追記
test
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
別解として、参考にしてください。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
--
|
6
|
+
|
7
|
+
|
8
|
+
|
1
9
|
命題に対してcollectionsのCounterだと思うように効果を発揮しないように感じます。
|
2
10
|
|
3
11
|
|