이번 문제도
신기하지만
요상한 문제였다.
문제화면이다. 5번!
(5번 문제화면)
소리내서 읽어봐라??
일단 소스코드로!
(소스코드)
banner.p 라고 보인다.
주석으로 peak hell 비슷한 말이라고 힌트를 줬는데
피클? p 파일을 읽어봤다.
(banner.p 코드)
???.?
이건 뭐지
규칙도 없고
의미도 없는 듯했다.
banner.p로 url 수정해서 들어가면 되나?
(??)
다운하라는 화면이 떳다.
음.! 파일이구나
나는 급히(천천히)
python.org의 참조문서를 찾았다.
p를 눌러서 뭐가있나 보는 순간 피클? 이 있었다.
피자먹는 피클인줄 알았는데
심오한 뜻이 있었다.
(pickle 자료화면)
내용을 찾아보니
파일을 직렬화, 역직렬화 시켜주는 모듈.. 이라고 나와있었다.
내용을 더 찾아봤다. (당연히 도통 무슨소린지)
찾아보니
텍스트 파일이 네트워크로 전송될 때 텍스트 파일그대로 날라가지 않고
직렬화 시켜주어야하는데 그 때 쓰는 모듈이라고 나와있었다.
즉 텍스트 파일을 바이너리로 바꾸어주고 그 바꾸어준 파일이
스트림형태로 소켓에서 입출력 되는 것이다.
그건 그런거시고
문제의 데이터값을 입력해보았다.
(피클 입력)
(피클 입력)
음.. 그래도 규칙(?) 이 나름있는
언어로 바뀌었다. 형태를 보니 튜플이고 리스트였다.
일단 파일을 하나 만들어서 출력해보았다.
(출력 화면)
(출력화면)
음..
왼쪽 부분은 비거나 #이 들어가고
오른쪽 숫자는 합이 일정한거 보니 규칙이 있어보였다.
#의 개수에 따라 결과가 나오는 듯 했다.
반복문을 돌면서 출력!
(for 출력)
(출력화면)
이제 확실해졌다.
오른쪽 숫자는 개수이다.왼쪽은 들어갈 것으로 공백하고 #이 있다.
즉
공백 몇개, # 몇개, 공백 몇개 이렇게 되있다.
일단 빈 문자열을 만들어주고
한행씩 돌면서 문자를 입력했다.
(완성코드)
(실행화면)
실행 결과로 channel이 나왔다.
멋있는 화면이다(?)
해왔던데로 url에 channel 입력
(정답으로 넘어간 화면)
정답이다!
덕분에
피클이라는 모듈을 공부하게 된 계기가 되었다.
'WarGame > Python Challenge' 카테고리의 다른 글
Python Challenge - 4번 (0) | 2017.01.09 |
---|---|
Python Challenge - 3번 (0) | 2017.01.02 |
Python Challenge - 2 (0) | 2017.01.01 |
Python Challenge - 1 (0) | 2017.01.01 |