Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

ClassifyByAnagram/JuNe

From ZeroWiki
Revision as of 05:22, 7 February 2021 by imported>Unknown
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
import sys

def Anagram(inFile,outFile):
    anagrams={}
    for eachWord in inFile:
        eachWord=eachWord.strip()
        key=list(eachWord);key.sort();key=.join(key)
        anagrams.setdefault(key,[]).append(eachWord)
    for eachAnagram in anagrams.itervalues():
        print >> outFile, ' '.join(eachAnagram)

if __name__=='__main__':
    Anagram(sys.stdin,sys.stdout)

P4 1.8Ghz 512MB Win XP Python 2.2.1에서 17만 단어로 실행하면 4초. 프로세스 메모리 점유 약 31MB. 만약 psyco로 bind를 해주면(if문 위에

~cpp import psyco;psyco.bind(Aangram)

을 추가) 3.4초.