Python/2.7 simple coding(+ c++)

파이썬챌린지.com 5

qkqhxla1 2014. 8. 16. 14:07


http://www.pythonchallenge.com/pc/def/peak.html

뭔지 모르겠다. http://www.pythonchallenge.com/pc/def/banner.p 라는 이상한 주소를 찾긴했는데

뭔 짓을 해야될지 모르겠다. 파이썬 peak, 파이썬 peak hell 등으로 검색해봤더니

peakle모듈을 이용하는 문제라고 한다.. 아......

peakle모듈은 dump로 어떤 인코딩을 해서 저장(?)하고 load로 다시 디코딩을 해서 불러온다.

(딱히 표현할 말이 생각안나서 인코딩 디코딩이라고 표현했습니다.)

banner.p를 다운받아서 인코딩된거라 가정하고 디코딩을 해봤습니다.

import pickle

file = open('banner.p','rb')
data = pickle.load(file)
file.close()
print data

여기서 또 막힐 뻔 했으나.... 자세히 보면 ' ' 공백뒤에 숫자, #뒤에 숫자 이런 패턴입니다.

첫번째줄만 보고 공백 95개 공백 14개..?? 왜 굳이 공백 95개 14개 따로 나눴을까 생각하다가

내부의 리스트를 보니 한줄에 95개의 칸이라고 해석하면 딱 맞아떨어집니다.

첫번째줄은 공백 95개 두번째줄은 공백14 샾5 공백70 샾5 공백1 하면 딱 95개가 됩니다.

이런식이라고 가정하면 #으로 어떤 그림이나 글자가 그려질걸 상상할수 있습니다.

import pickle

file = open('banner.p','rb')
data = pickle.load(file)
file.close()
print data

for i in data:
    line=""
    for x,y in i:
        line += x*y
    print line


'Python > 2.7 simple coding(+ c++)' 카테고리의 다른 글

Enigmagroup missions/programming 1  (0) 2014.11.03
wargame.kr pw_crack  (2) 2014.10.06
파이썬챌린지.com 4  (0) 2014.08.15
파이썬챌린지.com 3  (0) 2014.08.15
파이썬챌린지.com 2  (0) 2014.08.15