这个算法如何设计

这个算法怎么设计
一维数组 String []a ={f,f,f,f,d,d,d,d,d,d,a,a,vg,vg,vg};
根据一位数组输出
f:1
f:1
f:1
f:1
d:2
d:2
d:2
d:2
d:2
a:3
a:3
vg:4
vg:4
vg:4
------解决方案--------------------

input = ['f','f','f','f','d','d','d','d','d','d','a','a','vg','vg','vg']

index = 0
last_item = ''

for item in input:
    if item != last_item:
        index += 1
        last_item = item
    print item, ':', index