728x90
이번 포스트에서는 Python Challenge의 Level 10 문제에 대해 다루겠다.
문제를 클릭하면 다음과 같은 페이지가 출력된다.
## 문제 해석 :
소 그림과 "len(a[30])=?"라는 식이 있다. 해당 식을 풀어내면 되는 것으로 보인다.
## 문제 풀이 :
개발자 도구를 확인해보면 다음과 같은 경로를 볼 수 있다.
해당 경로에 접속해보겠다.
### 공격문 : http://www.pythonchallenge.com/pc/return/sequence.txt
### 실행 결과 :
문제 화면에 나와 있는 리스트 a이다. 해당 리스트의 규칙을 찾아내면 30번째값을 알아낼 수 있을 것 같다.
실제 풀이한 결과, 해당 리스트는 다음과 같은 규칙을 가진다.
이 규칙을 활용하여 파이썬 자동화 코드를 작성하면 30번째 값을 알아낼 수 있다.
### 공격 코드 :
a = ["1"]
while(len(a) < 31):
base = a[-1][0]
cnt = 1
next_val = ""
for i in range(1, len(a[-1])):
if(a[-1][i] != base):
next_val += str(cnt)+str(base)
base = a[-1][i]
cnt = 1
else:
cnt += 1
next_val += str(cnt)+str(base)
a.append(next_val)
print(len(a[30]))
### 실행 결과 :
### 최종 공격문 : http://www.pythonchallenge.com/pc/return/5808.html
### 실행 결과 :
Level 11로 넘어간 것을 확인할 수 있다.
'Wargame > Python Challenge' 카테고리의 다른 글
Python Challenge (Level 12) (0) | 2022.09.07 |
---|---|
Python Challenge (Level 11) (0) | 2022.09.06 |
Python Challenge (Level 9) (0) | 2022.08.27 |
Python Challenge (Level 8) (0) | 2022.08.26 |
Python Challenge (Level 7) (0) | 2022.08.25 |