python
python anagram --- timeit 실행시간 확인
자유프로그램
2014. 8. 24. 00:06
반응형
python anagram
테스트 환경 : windows 7 64 bit, python 2.7.5
참고 : https://docs.python.org/2/library/timeit.html
** 문자열 a ('listen') 와 b ('silent') 가 anagram 인지 확인하는 프로그램
-- 단어 단위만 검사함. 따라서 공백은 제외 시킴.
# -*- coding: euc-kr -*- def analysis_str(txt, str_counter_list): for x in txt: # 각각 문자에 해당하는 counter 증가 idx = (ord(x.lower()) - ord('a'))%26 # 대문자인경우 소문자로 전환하여 계산! str_counter_list[idx] += 1 # count 증가 -- ex) 'a' -> alpha[0] 값에 1 더한다. def main(): alpha_1 = [0]*26 # a - z 해당 count 기록, 대소문자 구분 없다. alpha_2 = [0]*26 a = 'listen' b = 'silent' if len(a) != len(b): # 길이 다르면 종료! print 'Not anagram' else: analysis_str(a, alpha_1) analysis_str(b, alpha_2) # print alpha_1 # print alpha_2 if alpha_1 == alpha_2: print 'Ok anagram' else: print 'Not anagram' if __name__ == '__main__': import timeit # number=10 --> 10번 실행 , default : number=1000000 (백만번 실행) print(timeit.timeit("main()", setup = "from __main__ import main", number=10))
<결과>
반응형