티스토리 뷰


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


everybody thinks twice before solving this.


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.




1번 문제의 힌트를 보면 K -> M , O -> Q , E -> G 로 알파벳이 바뀌는 것 같다.

직접 노트에 알파벳을 순서대로 다 써서 보니 알파벳들이 두 칸씩 밀려 뜻하는 것 처럼 보인다.


모든 알파벳을 두 칸씩 밀어보면

A -> C

B -> D

C -> E

D -> F

E -> G

F -> H

G -> I

H -> J

I -> K

J -> L

K -> M

L -> N

M -> O

N -> P

O -> Q

P -> R

Q -> S

R -> T

S -> U

T -> V

U -> W

V -> X

W -> Y

X - > Z

Y - > A

Z -> B


인 걸 알 수 있다.


이것을 바탕으로 문자를 다른 문자로 대체하는 파이썬 코드를 짜서 해보려고 했으나 파이썬을 배우기 시작한지 얼마 안돼서 응용을 잘 못해서 그런지

출력값이 이상하게 떴다.

그래서 직접 바꾸는 노가다를 했다가 파이썬 소스를 다시 써서 풀어보려 했다.


import string


from_string = "abcdefghijklmnopqrstuvwxyz"

to_string = "cdefghijklmnopqrstuvwxyzab"

trans = string.maketrans(from_string, to_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."""


print str.translate(trans)



<실행 결과>




-string.maketrans() 


이 페이지의 url은 http://www.pythonchallenge.com/pc/def/map.html 이고

위 소스의 str에 map을 넣어줘서 알파벳을 변환하면 ocr



2번 문제로 넘어간다.





'Hacking > Python_challenge' 카테고리의 다른 글

[Python Challenge] 2  (0) 2016.11.14
[Python Challenge] 0  (0) 2016.11.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함