<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ClassifyByAnagram%2F1002</id>
	<title>ClassifyByAnagram/1002 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=ClassifyByAnagram%2F1002"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ClassifyByAnagram/1002&amp;action=history"/>
	<updated>2026-05-15T09:46:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=ClassifyByAnagram/1002&amp;diff=30267&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=ClassifyByAnagram/1002&amp;diff=30267&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:53Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;hotspot 으로 프로파일링 돌린뒤 중간 쓸데없어보이는 코드들 마구마구 삭제. 가장 병목지점은 Anagram.register, &lt;br /&gt;
 ~cpp WordElement&lt;br /&gt;
(지금은 input 갯수 n 에 대해 n 번 실행)&lt;br /&gt;
&lt;br /&gt;
나중에 Psyco bind 하고 나서는 4.4 초.&lt;br /&gt;
&lt;br /&gt;
P3 933, 128 RAM Win98 Python2.2 + Psyco 에서 돌림.&lt;br /&gt;
&lt;br /&gt;
 import os&lt;br /&gt;
 import time&lt;br /&gt;
 import psyco&lt;br /&gt;
 &lt;br /&gt;
 class Formatter:&lt;br /&gt;
     def __init__(self, anAnagramTable, out=os.sys.stdout):&lt;br /&gt;
         for key in anAnagramTable.iterkeys():&lt;br /&gt;
             out.write(&amp;#039; &amp;#039;.join(anAnagramTable[key]) + &amp;quot;\n&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 class Anagram:&lt;br /&gt;
     def __init__(self):&lt;br /&gt;
         self.anagrams={}&lt;br /&gt;
 &lt;br /&gt;
     def read(self, anIn=os.sys.stdin):        &lt;br /&gt;
         for word in anIn:&lt;br /&gt;
             self.register(word.strip())&lt;br /&gt;
 &lt;br /&gt;
     def getAnagrams(self):&lt;br /&gt;
         return self.anagrams&lt;br /&gt;
         &lt;br /&gt;
     def register(self, aWord):&lt;br /&gt;
         aw=&amp;#039;&amp;#039;.join(WordElement(aWord))&lt;br /&gt;
         if self.anagrams.has_key(aw):&lt;br /&gt;
             self.anagrams[aw].append(aWord)&lt;br /&gt;
         else:&lt;br /&gt;
             self.anagrams[aw]=[aWord]&lt;br /&gt;
 &lt;br /&gt;
 def WordElement(aWord):&lt;br /&gt;
     result=list(aWord)&lt;br /&gt;
     result.sort()&lt;br /&gt;
     return result&lt;br /&gt;
 &lt;br /&gt;
 psyco.bind(WordElement) &lt;br /&gt;
 psyco.bind(Anagram)     &lt;br /&gt;
 psyco.bind(Formatter)&lt;br /&gt;
 &lt;br /&gt;
 if __name__==&amp;quot;__main__&amp;quot;:&lt;br /&gt;
     start=time.clock()&lt;br /&gt;
     anagram=Anagram()&lt;br /&gt;
     anagram.read()&lt;br /&gt;
     end=time.clock()&lt;br /&gt;
     Formatter(anagram.getAnagrams())&lt;br /&gt;
     print &amp;quot;time : &amp;quot;, end-start&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[ClassifyByAnagram]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>