본문 바로가기

Python Challenge

level 4 문제 URL : http://www.pythonchallenge.com/pc/def/linkedlist.php 위 주소로 접속하면 아래와 같은 문제가 나온다. 이미지 위에 마우스를 올리면 링크접속을 나타내는 마우스 아이콘으로 바뀐다. 링크에 접속하면 아래와 같이 나온다. 인자값으로 nothing=12345 이렇게 넘어가는데 44827값을 인자값으로 넘겨주면 또 다른 숫자가 출력이 된다. 계속 나오는 숫자를 넘겨주다보면 무언가 나오겠거니 하고 코딩을 하여 보내보았다. 해당 문제풀이코드 알고리즘은 간단하다. 새롭게 나오는 숫자를 얻어와서 다시 보내주면 되는 것이다. 여기서는 통신 프로그래밍을 해야 하므로 urllib(설명 주소 : http://docs.python.org/library/urllib.html).. 더보기
level 3 문제 URL : http://www.pythonchallenge.com/pc/def/equality.html 위 주소로 접속하면 아래와 같은 문제가 나온다. 대충 의역하면 3개의 보디가드가 둘러쌓고 있는 편지?! 뭐 이런식인데.. 소스를 보니 아까와 다르게 엄청난 알파벳들이 있다. 자세히 보면 문제의 의미를 알 수 있다. aGFTlBSFs 이런식으로 되어있는 부분이 있는데 이 구조를 정규식으로 표현하여 이 부분들만을 추출하면 문제는 풀린다. 표현할 구조가 소문자1 대문자3 소문자1 대문자3 소문자1 이런식인데 python 정규식을 보면 {숫자}라는 메타가 있다. [a-z]{2} 라는 정규식을 만들어 함수에 적용하면 a-z를 두번 찾는다. 이걸 이용하여 정규식을 만들면 1. [a-z] --> 소문자 1 2.. 더보기
level 2 문제 URL : http://www.pythonchallenge.com/pc/def/ocr.html 위 주소로 접속하면 아래와 같은 문제가 나온다. 책에 어떠한 문자가 있거나 소스페이지에 있다고 한다(대충 의역.. ㅋㅋ) 소스페이지를 보면 아래와 같이 나온다. 특수문자들이 엄청 나오는데 진짜 문제는 여기에서 알파벳을 찾으라는 것이다. 물론 수동으로 찾아도 되지만 사람은 실수를 할 수 있는 법이기 때문에 한번 실수하면 다시 처음부터 찾아야 하는 수고로움이 있어 우리는 프로그래밍을 하는 것이다. 파이썬을 공부도중 연습문제에 정규식이라는 것이 나왔는데 그것을 이용하여 풀면 될 것 같아 책에서 정규식 모듈을 찾아 쓸만한 함수가 있는지 알아본 결과, re 모듈의 findall(함수 설명 : http://maj3s.. 더보기
level 1 문제 URL : http://www.pythonchallenge.com/pc/def/map.html 위 문제로 접속하면 아래와 같은 이미지가 출력된다. 이미지에 있는 노트를 보면 어떠한 문자가 어떠한 문자로 치환되는지 알 수 있다. 메모장으로 치환문자들을 써놓고 보면 일정한 규칙이 보이는데 해당 규칙에 따라 치환된 문자들을 만들어보면 아래와 같다. 해당 규칙을 토대로 코딩을 할 수 있긴 하겠지만 코드가 길어져 파이썬에는 문자 치환 함수가 없을까 하고 검색해봤지만 나오지 않아 고민하던 중 문제에 qrpgle.kyicrpylq() 이런 문구가 보여 규칙을 토대로 치환해 보기로 하였다. 치환한 결과는 아래와 같다. 파이썬 shell에서도 있는걸로 보아 이 문제에 핵심인거 같아 구글링 하여 찾아보니 이 함수가 .. 더보기
level 0 문제 URL : http://www.pythonchallenge.com/pc/def/0.html 위 주소로 접속하면 아래와 같은 문제가 나온다. 딱 봐도 수학시간에 많이 본 제곱연산이다. 아래와 같이 해주고 이미지 아래에 있는 힌트처럼 html 주소를 바꿔주면 클리어 된다. 더보기