view problem79.py @ 14:49c96972949d default tip

#50 rewrite of solution
author Dominic Cleal <dominic@computerkb.co.uk>
date Mon, 01 Dec 2008 19:11:55 +0000
parents 1ca695e32f66
children
line wrap: on
line source

import sys

class Code:
	after = []
	
	def __init__(self, num, after):
		self.num = num
		self.after = after

def code_cmp(a, b):
	if a.num == b.num:
		return 0
	elif a.num in b.after:
		return 1
	elif b.num in a.after:
		return -1
	else:
		return 0

codes = []

f = open("keylog.txt")
try:
	for line in f:
		linecodes = []
		for i in [int(i) for i in line.rstrip()]:
			codes.append(Code(i, linecodes))
			linecodes.append(i)
finally:
	f.close()

print ''.join([str(c.num) for c in codes])
codes.sort(code_cmp)
print ''.join([str(c.num) for c in codes])