'python challenge'에 해당되는 글 3건

  1. 2010.03.25 [ Python Challenge ] level6 풀이
  2. 2010.03.05 [Python Challenge] level2 풀이
  3. 2010.03.05 [Python Challenge] level1 풀이

2010.03.25 21:35 WarGame

아 간만의 Python Challenge 포스팅이로군요

Codegate 문제 좀 푼다고 삽질좀 하느라 정신이 없었네요

지난 해 보다 문제 유형이 다양해진거 같습니다

주말에 Codegate 2문제쯤 포스팅 할 것 같군요

아무튼, Python Challenge level6 시작합니다



소스는



이고 주석에 PayPal은 상관 없다고 합니다

저러면 더 의심가긴 합니다만 -

channel.zip 이라고 쳐보면

텍스트 파일 뭉치가 압축된 파일을 받을 수 있습니다

압축을 풀어보면..?

평소엔 보지 못했던 부분이 있네요



파일명 앞부분에는 말풍선이 있고

평소엔 비어있던 설명 탭에는

알 수 없는 문자들이 있군요

괜히 넣어둔건 아니겠죠

아무튼 압축 파일에 들어있는 Readme.txt 를 읽어보면

welcome to my zipped list.

hint1: start from 90052
hint2: answer is inside the zip


라고 합니다

흠 

90052.txt를 읽어보면

다음 읽어야 할 파일 명이 적혀 있습니다

전에 풀었던 문제와 비슷한거 같네요

순차적으로 읽는 소스를 구현합니다


 

돌려보면 마지막 텍스트 파일이 나오겠죠

이번 문제는 정말 간단했다고 생각하며

파일을 여는 순간



있어야 할 답은 없고

Collect the comments.

라고만 있네요

코멘트를 모으라니 이건 무슨 개소린가 했는데

걸리는게 하나 있네요

좀 전에 설명 탭에 있는 문자들 기억나시나요

아무래도 그 문자를 읽어 출력해야 하는 것 같습니다

그 설명이 텍스트 파일에 첨부 되어 있는게 아니라

Zip 파일에 있는 것 같습니다

그러니까 텍스트 파일의 내용을 읽어서 쭉 추적하되

' 추적 중에 각 파일의 comment 를 모은다 '

Zip 관련 module 을 찾아서 쭉 훑어보면

comment 에 관련된 함수를 찾을 수 있습니다

소스를 작성해보면


 


어때요 참 쉽죠?


는 훼이크고 , 처음에 zip file 설명 부분을 놓치고 못봐서

고생좀 했습니다

이번 문제는 범용성은 좀 .. 많이 떨어지죠

zipfile 의 설명 부분은 거의 쓸일이 없습니다만

새로운 module 을 사용해보고

그 사용법을 익힐 수 있다는 점에선 재밌었습니다 :D

'WarGame' 카테고리의 다른 글

[ CodeGate 2010 ] Challenge 5 풀이  (2) 2010.03.28
[ CodeGate2010 ] Chanllenge 4 풀이  (0) 2010.03.28
[ Python Challenge ] level6 풀이  (0) 2010.03.25
[ CodeGate 2010 ] Challenge 11 풀이  (0) 2010.03.19
[ Codegate 2010 ] Chanllenge 1 풀이  (2) 2010.03.17
[ Padocon 2010 ] Warmup 100  (0) 2010.03.16
Posted by LinkC

2010.03.05 19:06 WarGame

level1에 이어서

level2 입니다



Page Source에 있다고 대놓고 힌트를 주는군요

힌트를 보면

특수문자들이 매.우.많.이 주석처리가 되있는거 볼 수 있습니다

눈 빠지죠

일단 주석 처리된 다음 힌트 부분을 보면

문자를 걸러내라고 합니다

알파벳 문자를 제외한 다른 문자들은 제거해버리기만 하면

답이 쨘 하고 나오겠죠

음 그렇게 어렵진 않은거 같습니다

일단 뽑아내야 하는 원본 덩어리가 워낙 길어서

일단 파일로 저장한 다음에 그 파일을 대상으로

문자들을 추출하는 방식을 썼습니다





풀고 나서 보니 다른 사람들이 푼 답들을 볼 수 있었는데

정말 다양한 방법들이 있더군요

멋집니다 :D
 

'WarGame' 카테고리의 다른 글

[Python Challenge] level4 풀이  (0) 2010.03.10
[Python Challenge] level3 풀이  (0) 2010.03.09
[Python Challenge] level2 풀이  (0) 2010.03.05
[Python Challenge] level1 풀이  (0) 2010.03.05
[ Padocon 2010 ] Crackme 100 Breakme 풀이  (0) 2010.02.28
Vortex level3 풀이  (0) 2010.02.20
Posted by LinkC

2010.03.05 18:44 WarGame

전부터 몇번 풀리라 마음은 먹었는데

이제서야 풀어보게 됬군요 -.-

아무튼 Python에 더 익숙해지고 싶어서

하나 하나 풀어보기로 했습니다

넌센스 문제도 많아 머리 식히기에 괜찮은 문제 같더군요




의미를 알수 없는 문자열이 나열되어 있고 노트에는

K -> M
O -> Q
E -> G

가 적혀있습니다

그러니까 특정 규칙을 통해 저 문자열을 제대로 나타내야 하는게 관건이겠죠

아마 완전한 문장이겠죠

위의 규칙 . 그리고 첫번째 문자가 g

감이 오시나요?

영어 문장 중에 한글자로서 문장 가장 앞에 나올수 있는게 그렇게 많지는 않죠

거기에 기존 문자보다 2만큼 큰 변환 문자

g에서 2만큼 떨어진 문자는 i 가 있습니다

확인도 할겸 좀 더 분석해볼까요?

fmnc -> hope

맞는거 같군요!

일일히 손으로 하기는 모양새가 좋지 못하니 간단한 코딩을 통해 풀어봅시다 :D

주의점은 문자만 바꾸는 것이겠죠. 공백이라던가 온점 등은 변경하지 않는것이 좋아보이는군요

또한 y나 z 의 경우는 각각 a 와 b로 변경해준다는 점~





이 문자열을 풀어 내면

손으로 풀질 않았길 바란다며 maketrans 함수를 추천한답니다

이를 이용해서도 한번 풀어봅시다

maketrans 함수는 특정 문자를 변경해줄 수 있으며 이 규칙을 지정해 줄 수 있는 함수인걸

구글링을 통해 쉽게 알아낼 수 있었습니다



동일한 결과가 나오는군요 :D

어때요 참 쉽죠?


'WarGame' 카테고리의 다른 글

[Python Challenge] level3 풀이  (0) 2010.03.09
[Python Challenge] level2 풀이  (0) 2010.03.05
[Python Challenge] level1 풀이  (0) 2010.03.05
[ Padocon 2010 ] Crackme 100 Breakme 풀이  (0) 2010.02.28
Vortex level3 풀이  (0) 2010.02.20
Vortex level2 풀이  (0) 2010.02.16
Posted by LinkC
이전버튼 1 이전버튼

블로그 이미지
LinkC

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

공지사항

Yesterday57
Today61
Total309,989

달력

 « |  » 2018.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    

최근에 받은 트랙백

글 보관함


. .