-
0x07.Python Challenge 70x.Wargame/Python Challenge 2017. 6. 29. 12:33
0x07.Python Challenge 7
문제 주소 : http://www.pythonchallenge.com/pc/def/oxygen.html
주소에 HOCKEY를 입력하면 it's in the air. look at the letters. 라는 문구가 뜬다.
그래서 그 전 문제의 HOCKEY를 자세히 보면 OXYGEN이라는 단어를 찾을 수 있다.
소스코드상에 힌트는 없다. 그런데 그림이 깔끔하지가 않고 중간부분이 픽셀로 표현된 것이 보인다.
http://www.pythonware.com/products/pil/
그림 분석을 위해서 외부 라이브러리인 PIL(이미지 라이브러리)를 사용해보았다.
여기서 중요한 것은 PIL같은 경우 파이썬 3.x 버전을 아직 지원하지 않아서 2.x 버전을 사용해야 했다.
7픽셀마다 사진에서의 픽셀칸들의 색깔이 변한다는 사실을 이용해 픽셀을 추출한다. 43이라는 값은 세로를 뜻한다. 이 것은 세로의 위치는 변경되지않고 가로의 위치만 변경되기 떄문에 (i, 43)을 구하기 위한 값이다. 저장된 rgb값들을 result 변수에 저장해서 출력해보면 리스트가 나온다.
리스트의 값들을 캐릭터(char) 값으로 변경해서 출력해보면 다음과 같이 결과 값을 얻을 수 있다.
이 문제는 파이썬 버전에 따라 풀 수 있는지 여부가 결정되기 때문에 굳이 안풀고 넘어가도 되는 문제라고 판단이 되지만, 풀지 않으면 답이 나오지 않기에 풀었다.
'0x.Wargame > Python Challenge' 카테고리의 다른 글
0x09.Python Challenge 9 (0) 2017.07.12 0x08.Python Challenge 8 (0) 2017.07.03 0x06.Python Challenge 6 (0) 2017.06.26 0x05.Python Challenge 5 (0) 2017.06.08 0x04.Python Challenge 4 (0) 2017.06.07 댓글