Fixed typo
[advent-of-code-15.git] / advent10.ipynb
1 {
2 "cells": [
3 {
4 "cell_type": "code",
5 "execution_count": 2,
6 "metadata": {
7 "collapsed": false
8 },
9 "outputs": [],
10 "source": [
11 "import itertools"
12 ]
13 },
14 {
15 "cell_type": "code",
16 "execution_count": 12,
17 "metadata": {
18 "collapsed": false
19 },
20 "outputs": [
21 {
22 "data": {
23 "text/plain": [
24 "[(1, [1, 1]), (2, [2, 2, 2]), (1, [1, 1]), (3, [3])]"
25 ]
26 },
27 "execution_count": 12,
28 "metadata": {},
29 "output_type": "execute_result"
30 }
31 ],
32 "source": [
33 "[(i, list(ii)) for i, ii in itertools.groupby([1,1,2,2,2,1,1,3])]"
34 ]
35 },
36 {
37 "cell_type": "code",
38 "execution_count": 22,
39 "metadata": {
40 "collapsed": true
41 },
42 "outputs": [],
43 "source": [
44 "def chunks(sequence):\n",
45 " return [(len(list(ii)), i) for i, ii in itertools.groupby(int(d) for d in sequence)]"
46 ]
47 },
48 {
49 "cell_type": "code",
50 "execution_count": 23,
51 "metadata": {
52 "collapsed": false
53 },
54 "outputs": [
55 {
56 "data": {
57 "text/plain": [
58 "[(3, 1), (2, 2), (1, 1)]"
59 ]
60 },
61 "execution_count": 23,
62 "metadata": {},
63 "output_type": "execute_result"
64 }
65 ],
66 "source": [
67 "chunks('111221')"
68 ]
69 },
70 {
71 "cell_type": "code",
72 "execution_count": 24,
73 "metadata": {
74 "collapsed": true
75 },
76 "outputs": [],
77 "source": [
78 "def looksay(chunks):\n",
79 " return ''.join(str(item) for chunk in chunks for item in chunk)"
80 ]
81 },
82 {
83 "cell_type": "code",
84 "execution_count": 25,
85 "metadata": {
86 "collapsed": false
87 },
88 "outputs": [
89 {
90 "data": {
91 "text/plain": [
92 "'312211'"
93 ]
94 },
95 "execution_count": 25,
96 "metadata": {},
97 "output_type": "execute_result"
98 }
99 ],
100 "source": [
101 "looksay(chunks('111221'))"
102 ]
103 },
104 {
105 "cell_type": "code",
106 "execution_count": 26,
107 "metadata": {
108 "collapsed": false
109 },
110 "outputs": [
111 {
112 "name": "stdout",
113 "output_type": "stream",
114 "text": [
115 "11\n",
116 "21\n",
117 "1211\n",
118 "111221\n",
119 "312211\n",
120 "13112221\n",
121 "1113213211\n",
122 "31131211131221\n",
123 "13211311123113112211\n",
124 "11131221133112132113212221\n"
125 ]
126 }
127 ],
128 "source": [
129 "lss = '1'\n",
130 "for i in range(10):\n",
131 " lss = looksay(chunks(lss))\n",
132 " print(lss)"
133 ]
134 },
135 {
136 "cell_type": "code",
137 "execution_count": 27,
138 "metadata": {
139 "collapsed": false
140 },
141 "outputs": [
142 {
143 "name": "stdout",
144 "output_type": "stream",
145 "text": [
146 "329356\n"
147 ]
148 }
149 ],
150 "source": [
151 "lss = '3113322113'\n",
152 "for _ in range(40):\n",
153 " lss = looksay(chunks(lss))\n",
154 "print(len(lss))"
155 ]
156 },
157 {
158 "cell_type": "code",
159 "execution_count": 28,
160 "metadata": {
161 "collapsed": false
162 },
163 "outputs": [
164 {
165 "name": "stdout",
166 "output_type": "stream",
167 "text": [
168 "4666278\n"
169 ]
170 }
171 ],
172 "source": [
173 "lss = '3113322113'\n",
174 "for _ in range(50):\n",
175 " lss = looksay(chunks(lss))\n",
176 "print(len(lss))"
177 ]
178 },
179 {
180 "cell_type": "code",
181 "execution_count": null,
182 "metadata": {
183 "collapsed": true
184 },
185 "outputs": [],
186 "source": []
187 }
188 ],
189 "metadata": {
190 "kernelspec": {
191 "display_name": "Python 3",
192 "language": "python",
193 "name": "python3"
194 },
195 "language_info": {
196 "codemirror_mode": {
197 "name": "ipython",
198 "version": 3
199 },
200 "file_extension": ".py",
201 "mimetype": "text/x-python",
202 "name": "python",
203 "nbconvert_exporter": "python",
204 "pygments_lexer": "ipython3",
205 "version": "3.4.3"
206 }
207 },
208 "nbformat": 4,
209 "nbformat_minor": 0
210 }