[카테고리:] PythonChallenge

The Python Challenge – Level 6

문제 페이지 : http://www.pythonchallenge.com/pc/def/channel.html 먼저 주석을 보면 ZIP 이라는 단어가 있기에 다음 페이지에 접속하여 보니 ZIP 파일을 찾으라고 한다. http://www.pythonchallenge.com/pc/def/zip.html http://www.pythonchallenge.com/pc/def/channel.zip 파일이란게 있는 것을 확인했고 readme.txt 파일을 확인하여 보면 시작파일이 어떤 파일인지 확인할 수 있다. 각 파일을 읽어가며 따라가면 최종적으로 "Collect the comments." 라는 메세지가 나온다. 한참을 고민한 결과 zip 파일 내부에 각 파일에 대해 …

The Python Challenge – Level 5

문제 페이지 : http://www.pythonchallenge.com/pc/def/peak.html 처음 문제를 보고 뭔가 한참 고민을 했더랬다 -_- pronounce it ? 도저히 이해가 안되어 포럼을 좀 본 결과 발음과 관련되어 있단걸 알게되었고 pickle이란걸 알게 되었다. #!c:\python26\python.exe import pickle, re pkl_file = open('banner.p', 'rb') data = pickle.load(pkl_file) tmp = '' for x in range(len(data)): for y in range(len(data[x])): if data[x][y][0].find(' ') == …

The Python Challenge – Level 4

문제 페이지 : http://www.pythonchallenge.com/pc/def/linkedlist.php #!C:\Python26\python.exe import httplib, re def gogo(number): conn = httplib.HTTPConnection('www.pythonchallenge.com') conn.request('GET', '/pc/def/linkedlist.php?nothing=' + str(number)) r1 = conn.getresponse() data = r1.read() print data if data.find('Yes. Divide by two and keep going.') == 0: return int(number) / 2 else: tmp = re.search('and the next nothing is [0-9]+', data).group() return re.search('[0-9]+', tmp).group() x = gogo(12345) …

The Python Challenge – Level 3

문제 페이지 : http://www.pythonchallenge.com/pc/def/equality.html #!c:\python26\python.exe import re str = '''kAewtloYgcFQaJNhHVGxXDiQmzjfcpYbzxlWrVcqsmUbCunkfxZWDZjUZMiGqhRRiUvGmYmvnJIHEmbT MUKLECKdCthezSYBpIElRnZugFAxDRtQPpyeCBgBfaRVvvguRXLvkAdLOeCKxsDUvBBCwdpMMWmuELeG ENihrpCLhujoBqPRDPvfzcwadMMMbkmkzCCzoTPfbRlzBqMblmxTxNniNoCufprWXxgHZpldkoLCrHJq vYuyJFCZtqXLhWiYzOXeglkzhVJIWmeUySGuFVmLTCyMshQtvZpPwuIbOHNoBauwvuJYCmqznOBgByPw TDQheAbsaMLjTmAOKmNsLziVMenFxQdATQIjItwtyCHyeMwQTNxbbLXWZnGmDqHhXnLHfEyvzxMhSXzd BEBaxeaPgQPttvqRvxHPEOUtIsttPDeeuGFgmDkKQcEYjuSuiGROGfYpzkQgvcCDBKrcYwHFlvPzDMEk MyuPxvGtgSvWgrybKOnbEGhqHUXHhnyjFwSfTfaiWtAOMBZEScsOSumwPssjCPlLbLsPIGffDLpZzMKz jarrjufhgxdrzywWosrblPRasvRUpZLaUbtDHGZQtvZOvHeVSTBHpitDllUljVvWrwvhpnVzeWVYhMPs kMVcdeHzFZxTWocGvaKhhcnozRSbWsIEhpeNfJaRjLwWCvKfTLhuVsJczIYFPCyrOJxOPkXhVuCqCUgE luwLBCmqPwDvUPuBRrJZhfEXHXSBvljqJVVfEGRUWRSHPeKUJCpMpIsrVMuCmDTZPcAezRnyRTJkYyXk oLEmjtaCsKmNOKNHygTixMKNaSifidWNbeZYYHCGMtgJiTSlzRMjzOAMuhmYwincvBydQMDPaZclRsYU SeEnkclzGopkBozDQfXrQqHjRvlAQsijPCsrnUawvyskbTAnjctFftReVrIBFBKiLSFGmrLSrcnZKfOU wnCGYaMNKNhadSGMXwBaefDrMXoNeJsUaSGlWgttAqovosuhyBWwqQLkVKnRseXaaPwrMtdWjGiVXPvd sxbXzJwjxAITPpPWoGOnPWcSbHFZjBizKEBUECMLUKQRvVvWgIudKQkNjJmlUoUCaAHiTKVKcIpMeltJ AYlVsrjBTLsWuyYwCJuJaewQSrzwXJNLAflzrZXBBEOCTtItNptaJkriIEhufpNysjJpeWbWcFqdEsiG feIJbjRkOfNLjKIiIqbLfYRtldJPJEdsDJrZreCQGUhiIkjPwxrQfjPvsASxJnsqHKAKMJIPuOHYzxuI THEobVZUgmAlVBlqvPgHEGpelbIfzYKHmAmJFlwbhQHWeSLuvPQrUWEQcLwdkalMnyLVyZiFzomxyhHX LhFYswiIPrhmHVHQSJFzWSGUIaKytHzUTSlwSoPkBDPYJBUhXZuNrlPKzVtNoWnKrngtEkazGaWWNlfR RdYbWMbtMyqlOtyNVFyovtOfTqFaMVSmkApgbyffXFgSNqKxCtrjegbSaChypYNUqcfKxYEbgSiIzEqM lsHiHfJOdvhwFLIGAlecFxXxLLlgkAkJehUMZLrOROOArPPhNiVfPvFPrUPqmVZslfhprVpHoyvkAiux hIrGesluecMjJGkvQkzYpLefAPTGcPlQngoaKzrvnlhtudzYMpKxMUEJfsxihneGfwPVeKqmaLGqIFRV siZNppfwZZhfbaqznpIqZRMiyhBgBLCRqqDRgqQMUknFCGZqjqWSAubRCLQZnIbKDRhJrAQeboQctKmz SaFlMXjNqkujGmgtsWbcfEkRWluWBzwIKlvjCMDtnpGlHKXzouovFOySfqjnjWWlOtEbpbpVtGkWzqis JxASqiDLkjpozYyXnkovzHFCklyKQqiJHWtxMjpvDnVEzcXggQbdryUppwiiWzxDZEGzckGXATnTLuiT SvcQsrZPSmbcHPQEYeXCfFDlXsJdjRhzilGllXNdlSDSOHzCWwWKePFiQeUoDBhqMtmVPbWCXshWGFWQ KtsoUdjOqPSjERRCtRdEpApFFwTDsZfNxVqsUTUgbjIXRJTIKHoWJZdUyQaZxrkaYHNAPvawmOgZueju OCkDgGhIgQvcbqTnovaINOqMvhGDQmgxgoGBZGERWeNwavCHuEqoCNfJlpgSYDWoTbkzMwDptqkTGGZm ghcVJXkjYIfNjLrJAjOAbXniGjnJZPfBFeICxJbgeZKEQIbmjSSMuyLWfrcqrlvNVuNplvFvpFvtwejU wdqCWhmhpULzdVCsphBXFOqucjQsGOwrcmQEejhZjeoqQfeShslpmMyYSPVzCwIstLoYVKceHBmRDRMT lHRjQtEAzRzbjHhleOalUJfwYubSoQwTQuVlLfgYLSwjzJjORHszNNXlvbASfdncJtaggrnWQayCeeHL hrTBclVDdZZXwnuMsxAdIitDotrUoBDnxNiHEWMFZEIBvGuaJuHlqJjZDJybDCaeeBzctgmxVTHTfyQY UlgTgJljKvOEAYrtmDRDNtSYephsQxCVfPIRlatlSlFMXwzysWQcogZNkOQhMASZvQlGWQEICTgYjScy NlJYqhjYnnOguMsqCAjwVbVCyVlwBpNRseONpIGwgKomMbvqYDYXiUpfOCWCzGCxDolcGEUVitfVkWTV zWFtkDsGXxIttvLoCHhNknOxAFgCmerhdDiRhAUzAdPIQaPIrLvuvJANOFydiZrlmhtySXHhIhXAlxbH qzrxtWBtnqVnbNYvGisPtzCEPQopkRujbkdLdjeyxKsiaZjroIDVELfFhgzaoVlHehIxQxOgxSRVxtXI zReYwUTXmZSvtJrCMvzcfJysWvrtniuukisYGdywIgZlmaLuuqoGSwdmRzgbxYPzPAeRZhzsNakETkdL qbZhzXrKPYTYiWIUvQtmADZIPwoSjsmRxxvAOEJbNjPWenKYWSmHfhHCUGOTucQzXJokqjSmHvodFDtm mIpCQStfDwPqIMjOWTlwpqXuEjmmguCSvZgVGpvquNLWZutrejvArhhuSistkPHPSVTLKvIPGWjLlCvA fBvcsqYEuGMGlyGAeikgQsVaVvFXXLTrQeKQCsqoUughmjitWfDAIltxUXBejtRaOyYcmLLPWwYPfZsj XxCpeINTZABaQukGKxfqeEsPajoNXojSmekpHzWlKZcCDsXilGRPBgLPDQVMXVzDPOfpmhGvboAXxmAU RILBSCAZefqpBhHtfQhfezJOXObJYIQuuAYFlXmaiGcXtocQEgzpinPkhcGcTiCHEmTtBlDDRBGZoCCp FOuGAcaQxuQeDMTCmGEHYorVyShXbaaSzIBPXqpnvwBWGIjzhEYjMDblEeMwGwpIwAvruynPjmqyVFKy ZjLlFysrtkTPIYFlpynOIwGiMIKoUSqCcGEcwaXwUbEtdnMAuzGttGPouVICmFfuCeYMRBbjVitmMkfV KflCTKRUkxWsKEJcZZuZQmcjMXNJEZLezgYsEuqqSLEMupAhvWpmYWbIeCbSleuPmGkZXeZYPjHrAsAN LbrdsOoRxhHFcqeMyVlZRdozVMxSMbyIfmJJaALSmwepuIBJCCEatpNtRfhHifPCDpHIVYFVnnJVhoJe FxWTjgAQHAYXLsUFTTluNZJKFgvUAnbRNxlBPZVAwlEjGVkziQbVBnOCXxhFzIfTklsasbzfdqiwtoqS …

The Python Challenge – Level 2

문제 페이지 : http://www.pythonchallenge.com/pc/def/ocr.html #!C:\pyhton26\python.exe import re str = '''%%$@_$^__#)^)&!_+]!*@&^}@[@%]()%+$&[(_@%+%$*^@$^!+]!&_#)_*}{}}!}_]$[%}@[{_@#_^{* @##&{#&{&)*%(]{{([*}@[@&]+!!*{)!}{%+{))])[!^})+)$]#{*+^((@^@}$[**$&^{$!@#$%)!@(& +^!{%_$&@^!}$_${)$_#)!({@!)(^}!*^&!$%_&&}&_#&@{)]{+)%*{&*%*&@%$+]!*__(#!*){%&@++ !_)^$&&%#+)}!@!)&^}**#!_$([$!$}#*^}$+&#[{*{}{((#$]{[$[$$()_#}!@}^@_&%^*!){*^^_$^ ]@}#%[%!^[^_})+@&}{@*!(@$%$^)}[_!}(*}#}#___}!](@_{{(*#%!%%+*)^+#%}$+_]#}%!**#!^_ )@)$%%^{_%!@(&{!}$_$[)*!^&{}*#{!)@})!*{^&[&$#@)*@#@_@^_#*!@_#})+[^&!@*}^){%%{&#@ @{%(&{+(#^{@{)%_$[+}]$]^{^#(*}%)@$@}(#{_&]#%#]{_*({(])$%[!}#@@&_)([*]}$}&${^}@(% (%[@%!}%*$}(*@)}){+@(%@*$&]*^*}*]&$[}*]%]+*}^!}*$^^_()#$^]++@__){&&+((#%+(&+){)$ %&&#($[[+##*%${)_!+{_[})%++)$#))]]]$]@]@($+{&%&%+!!!@]_]+])^*@$(@#${}}#}{%}#+{(@ #__+{{]${]!{(%${%%^)(_*_@+)$]$#_@$)]](}{}$(}*%+!}#+)$%$}+#@*&^{##}+@(%[*@_}{(^]^ +_*{@+[$!!@%$+{_&(#^(([&[][[&@#+}_]&&]}^*&$&)#_^$@$((%)}+{}$#+{+^}&[#[#_+${#[#]{ (@@[%}[}$%+*#$+[%(**!$+@$@&+$_$#!_&&&&{***+)}][}#^!%#&$*)$!%}*&#}}##(^_%^]{+]&&] }^]#^(}@]&$]*_][])$]{_+})^_}]))()^&)(!*![!&}{][(]})[(*^}$&$_@^$)#${%[$_]!^]}}}*+ *^_(+}^)(%(}{&)[}!$$&&+}&[{%}^+#$]@)^&*%{@}]&!%*%$*&][}&{$&*@{@#]$*_[]%%[#]#*%)@ $_^#%$!{#]^$}%^@^+{($!^($%)]+&}+$@[$*)*&)*%!_!!+@&^*{}%#&{}$!(*^*@]@@})[($!)]]}) })(&+##]##%&##$}@{#_])*%(*(@$)}[+(+_)!{{#^{_@)!&)$}@^^^[$#__+$^!*#%%]_!#$]$&+^}% @])])%}]#$((^+{{@++^])$^*#[$}*]}}{)@+)[_}*@^%#]]#+()+)(]_[!!!)+)$+&@@])!}+*%]$[] &&[@+$_&#[$!$${}{%[]#+@)*!#)*!{$#*$%}[(&@$&_@($$]]]_[+(#@}&_}+]@$#_+](}^})!@@}@) }^]^]*}]+&(@@!!](*@#(++*)]!(^$})&_^@+]{#_@*%^[$[%&_%@%_![&&]&_@*#_}[{{])^$[_$_&_ @%%[@#[@_[&+]}[+)!_#_+++%)[@%$(&$[{#@(}$*![#^#{}_)[$^_$${_@&}*![#*#_+%[@{*^$){)# #%}]{+((*^]+{})&#$!#(*%({_!^*[{%@_&#){![&]@$#[#(!{*#^*%)]!%(#]%${*_^{+}(@}{_^(]( _+!_)^&}!#([(+&[@])[_(]@]@&@{#@(%[@+[^@%@+]*_[{]$[_(_@[!]]^%+@#(@$}]@(^**+]%^)^( @}^[]@@[@[@}^(^!]%*_]&$!!^^#*[#*[*_}+[$#(_#%@](+[^+}%{_*#]+*(]}!$(%@%#^)}]_&]{${ }$[*{+&+&}[#_#}_(}){^#{[_%*!$+[#)%]@&&_{)#[+*&+#!&)%)%++$_}){%%*@!*&%__(_!]#$*(_ $^!@@}_())%(&$%]]{{{@+!&%@(^!+*{%[*[!]){(#$@)(^{]%[&*(&!{&}!%*$)*]]$%(__[}_+&)!( ^_&*]*+#@{@[_({$*&}][(*!+$+#%&![%^)^#(#}+*+(@)&&!({^^_*($^+)&{)%$@%)&!$$&&^+#[)$ +!$^]*!%^_$}$+!!&%_&){$%{((&^{{(&_&_]{^}@[$^+]}]^{@!^@_%_{^@*)+^*#$#!+*}#)}@(}!] _*)}$**@}[^_&*^)*+#()]&{{]*+#${@&}#)$[]_+(^_@^][]_)*^*+_!{&$##]((](}}{[!$#_{&{){ *_{^}$#!+]{[^&++*#!]*)]%$!{#^&%(%^*}@^+__])_$@_^#[{{})}$*]#%]{}{][@^!@)_[}{())%) ())&#@*[#}+#^}#%!![#&*}^{^(({+#*[!{!}){(!*@!+@[_(*^+*]$]+@+*_##)&)^(@$^]e@][#&)( %%{})+^$))[{))}&$(^+{&(#%*@&*(^&{}+!}_!^($}!(}_@@++$)(%}{!{_]%}$!){%^%%@^%&#([+[ _+%){{}(#_}&{&++!@_)(_+}%_#+]&^)+]_[@]+$!+{@}$^!&)#%#^&+$@[+&+{^{*[@]#!{_*[)(#[[ ]*!*}}*_(+&%{&#$&+*_]#+#]!&*@}$%)!})@&)*}#(@}!^(]^@}]#&%)![^!$*)&_]^%{{}(!)_&{_{ +[_*+}]$_[#@_^]*^*#@{&%})*{&**}}}!_!+{&^)__)@_#$#%{+)^!{}^@[$+^}&(%%)&!+^_^#}^({ *%]&@{]++}@$$)}#]{)!+@[^)!#[%@^!!+{(@&+++_{!$}{]_%_#^#%&{!_(#$%%&@[})]+_@!(*[_@[ *_&+][^][}^@}])!(&^*[_%+(}!!{!!^*@!({%]#[_&()$]!$]@}*][)#()})[*^[^}]#(((_^#%%]@} ^###%!{(@+]$%*^}(![$@*]_{#*!$*@%*(^+#!)$&]*%$&*@$[)_$!&+_[$)%_*((%+##*]@+#*[$$)^ @)]}!)$^%+%&_#+]&&_!(}+^*#)$%%^+&%^_]@*%^^_#]%{%[&(*_(%(*{^@[@&+!@&[+[++$})$!*}+ (_^%%*}^{+}(+]]_][_(@}^#_{_}*){*)}+*)%#%++}{}__%$$$[%%*})_#*!_!%&*$!]!}{*+{^()$} *$%*$]][{@+*]_*&!^]_*!_{_@(}+%#$+@}_]#@$#^%((#$%+++]])#*@)&([^#]_$%$)[#)){({%@_^ @#}@*!!()[]%$*+*{*$%@**!}&#[*#[[{(@&_){{!}!)++@*{{({_!#^]}+{{#]{$^)&]%}})^@&$%@$ $!_+!{]*^_+@&@){#*!_#+{[@$^(__}*[^$&{&]!(&+++_@+)&}))$%]${+*!(#@(}&&&!)!_!$&@&{[ [@!#!]]#%)(_^!{*[{^{]})$)^&(*)%}#]#()^#+}!{_}*+{@&_^)+%@!%%${$&%}(%*_!)%$((+$&^^ }#[@%+)&^!](]%+_{{]}@]+^]{(!_*&@][]@_%}%(%&)})&!#)[_]^+$)[(%*%({]$[(#+&+[@[*([$# ^*!@{]]#![[{_]#^@])_[[+%]#[%[+_{)^+([^}[]_[}])*^!_+$}^+_)+*@$$^}(&[)_^[+})^]&))) }*+}%){@_)]_)&)!@)*#^_%{}(]]$)+^@+}+$_*&)]%^@&)![!@$[@)@}%!)@$((^![{(%([+#&{$+#[ …

The Python Challenge – Level 1

문제 페이지 : http://www.pythonchallenge.com/pc/def/274877906944.html #!c:\Python26\python.exe import string str = '''g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj.''' str2 = 'map' test = string.maketrans('abcdefghijklmnopqrstuvwxyz', 'cdefghijklmnopqrstuvwxyzab') print str.translate(test) …

The Python Challenge – Level 0

Python 프로그래밍 연습하는데 이만한 좋은 사이트는 없는거 같다! http://www.pythonchallenge.com/ 문제 페이지 : http://www.pythonchallenge.com/pc/def/0.html #!C:\Python26\python.exe import math print math.pow(2, 38)