2011. 6. 29. 04:46

[ Problem ] - http://huge:file@www.pythonchallenge.com/pc/return/evil.html

♧ 카드 패를 5장씩 돌리고 있습니다. (타이틀은 dealing evil)

♧ 소스를 보면 evil1.jpg 링크가 걸려 있습니다. (이번 문제에만 숫자가 붙어 있습니다)

♧ 해당 그림의 패를 돌리는 모습을 연상하여 숫자를 증가 시켜 보면('evil2.jpg', 'evil3.jpg')

다음과 같은 그림 힌트가 주어 집니다.

♧ evil2.jpg를 보면 'not jpg-_.gfx' 메시지가 보입니다.
evil2.jpg를 -> evil2.gfx로 변경해 보면 evil2.gfx 파일을 받을 수 있습니다.

(
※ 참고로 evil4.jpg에는 빈 화면이 보이는데 이것을 편집기로 보면 'Bert is evil! go back!'
라는 메시지가 보인다. 이것은 다음 문제에 관련 되어 있다.)

 

♧ 해당 타이틀과 그림의 힌트를 다시 상기시키며

다음과 같이 'evil2.gfx' 파일을 5개의 파일로 각각 한 Byte씩 나눠 저장 합니다.

# encoding=utf8
from PIL import Image
from cStringIO import StringIO

# ① 해당 gfx 파일을 오픈.
im_file = open("evil2.gfx", 'rb').read()

# ② 해당 gfx파일을 각각 한 Byte씩 5개의 파일로 나눠서 저장.
for i in range(5):
    priece = im_file[i::5]
    im = Image.open(StringIO(priece))
    f = open(("%d.%s" % (i, im.format)), 'wb')
    f.write(priece)
    f.close()

   

♧ 'evil2.gfx'를 5분할 한 결과 입니다.

   

♧ 해당 그림의 단어를 연결해 보면 'disproportionality'에서

'ity'빼면 'disproportional'이 됩니다.

   

[ Solution ] - http://huge:file@www.pythonchallenge.com/pcc/return/disproportional.html 
( 문제에 대한 다양한 해결법은 링크 참조.)

Posted by devanix