1000까지의 숫자를 영어로 쓸 때 필요한 알파벳의 수는?
성실과 근면을 요구하는 문제.. forty인지 fourty인지 헷갈리는 ESL 입장에선 약간 짜증나는 문제.
글타래를 읽다 보니.. 요런 스타일의 코드가 있다.
귀찮은 정도는 똑같지만, 답이 틀렸을 때 틀린 부분을 찾기가 좀 더 쉬울 것 같다.
Subscribe to:
Post Comments (Atom)
오일러 프로젝트 projecteuler.net 의 문제들을 풀고 설명하는 스터디 공간입니다. 조언, 부연, 비판, 질문 환영합니다.
d1 = ['one','two','three','four','five','six','seven','eight','nine'] d2 = ['ten','eleven','twelve','thirteen','fourteen','fifteen','sixteen','seventeen','eighteen','nineteen'] d3 = ['twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety'] d4 = ['hundred','and','thousand'] l1 = [len(e) for e in d1] l2 = [len(e) for e in d2] l3 = [len(e) for e in d3] l4 = [len(e) for e in d4] # 1~99 s1 = sum(l1)*9 + sum(l2) + sum(l3)*10 # 1~99 101~199 ... 901~999 s2 = s1*10 + sum(l1)*99 + sum(l4[:2])*99*9 # 1~1000 s3 = s2 + sum(l1) + l4[0]*9 + l1[0] + l4[2] print s3
def read(n): ... return ... sm = 0 for i in range(1,1001): sm += len(read(n)) print sm
No comments:
Post a Comment