아꿈사 http://café.naver.com/architect1      문현진 arnold.spring@gmail.com
문제 설명   6   and   dick   jane   puff   spot   yertle bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn dick and jane and...
• 암호를 복호화 할 수 있는 테이블을 만들어야 한다.• 주어진 데이터가 하나도 없으므로, 하나씩 넣어보는  수밖에 없다.• 그렇지만 암호화 + 복호화 모두 가능해야 하므로  테이블에서 하나의 알파벳은 하나의 알파벳으로...
• 암호를 복호화 할 수 있는 테이블을 만들어야 한다• >> mappingDict = dict()
정상 조건을 검사하는 방법은                  매핑 테이블에 대입 했을때                   암호 한 글자에 복호화된                 글자 하나가 매핑 가능 하면           ...
• 주어진 데이터가 하나도 없으므로, 하나씩 넣어보는  수밖에 없다는것을 깨달음   hxsn = jane   qymm = puff                End!   hxsn = puff   qymm = spot  ...
• 암호화 + 복호화 모두 가능해야 하므로 테이블에서 하나의  알파벳은 하나의 알파벳으로만 대응가능한 사전 형태로  만들수 있다.
def main():  strresult = "*"  retval = None  edword = ed.pop()  retval = decode(edword)  if retval == False:      print st...
def decode(edword):    if len(ed) == 0:       wordmapping(mapping, rd[0], edword)       print touch end -- ed is empty    ...
Code is on wiki.
Upcoming SlideShare
Loading in...5
×

Programming challange crypt_kicker

328

Published on

programming Challenges. Cryptkicker problem explanation.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
328
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Programming challange crypt_kicker

  1. 1. 아꿈사 http://café.naver.com/architect1 문현진 arnold.spring@gmail.com
  2. 2. 문제 설명 6 and dick jane puff spot yertle bjvg xsb hxsn xsb qymm xsb rqat xsb pnetfn dick and jane and puff and spot and yertle
  3. 3. • 암호를 복호화 할 수 있는 테이블을 만들어야 한다.• 주어진 데이터가 하나도 없으므로, 하나씩 넣어보는 수밖에 없다.• 그렇지만 암호화 + 복호화 모두 가능해야 하므로 테이블에서 하나의 알파벳은 하나의 알파벳으로만 대응가능한 사전 형태로 만들수 있다.
  4. 4. • 암호를 복호화 할 수 있는 테이블을 만들어야 한다• >> mappingDict = dict()
  5. 5. 정상 조건을 검사하는 방법은 매핑 테이블에 대입 했을때 암호 한 글자에 복호화된 글자 하나가 매핑 가능 하면 된다.• 주어진 데이터가 하나도 없으므로, 하나씩 넣어보는 수밖에 없다. bjvg = dick hxsn = jane qymm = puff bjvg = jane hxsn = puff qymm = spot hxsn = spot qymm = yertle
  6. 6. • 주어진 데이터가 하나도 없으므로, 하나씩 넣어보는 수밖에 없다는것을 깨달음 hxsn = jane qymm = puff End! hxsn = puff qymm = spot hxsn = spot qymm = yertle 모든 암호를 제대로 복호화 할 수 있으면 올바른 매핑 테이블이라고 할 수 있음. 따라서 종료 조건에 도달 했을 때의 테이블이 정답.
  7. 7. • 암호화 + 복호화 모두 가능해야 하므로 테이블에서 하나의 알파벳은 하나의 알파벳으로만 대응가능한 사전 형태로 만들수 있다.
  8. 8. def main(): strresult = "*" retval = None edword = ed.pop() retval = decode(edword) if retval == False: print strresult else: for edword in ed_: print decodewords(mapping,edword)main()
  9. 9. def decode(edword): if len(ed) == 0: wordmapping(mapping, rd[0], edword) print touch end -- ed is empty print mapping return True for rdword in rd: if wordmapping(mapping, rdword, edword) == True: rd.remove(rdword) newedword = ed.pop() result = decode(newedword) if result == False: ed.append(newedword) rd.append(rdword) else: return Truereturn False
  10. 10. Code is on wiki.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×