728x90
One small letter, surrounded by EXACTLY three big bodyguards on each of its sides.
(대충 앞뒤로 정확히 3개의 대문자 사이에 끼어있는 소문자를 찾으라는 내용)
f12를 눌러서 HTML소스에서 힌트를 찾습니다.
이것도 정규 표현식을 사용해서 찾는 문제에요.
이건 노가다 하라해도 못할 거 같아요.
그냥 적당히 [A-Z]{3}([a-z])[A-Z]{3}하면
앞뒤로 3개의 대문자로 둘러싸인 소문자들을 찾을 수 있겠죠?
import re
pattern = re.compile("[A-Z]{3}([a-z])[A-Z]{3}")
print("".join(re.findall(pattern,string)))
라고 생각했다면 큰 오산입니다.
AAAaBBBbCCCCcDDD를 예로 들자면
정확히 앞뒤가 대문자 3개로 둘러싸여야 가능한데,
AAAaBBBbCCCCcDDD
이건 뭐 된다 칩시다.
AAAaBBBbCCCCcDDD
AAAaBBBbCCCCcDDD
위의 코드를 쓰면 대문자가 몇 개 연속이던
3개만 충족되면 결과로 출력되는 불상사가 일어나게 됩니다.
그래서 수정한 코드.
import re
pattern = re.compile("[a-z][A-Z]{3}([a-z])[A-Z]{3}[a-z]")
print("".join(re.findall(pattern,string)))
ㅎㅎ
string에 HTML 힌트에 있던 문자들을 집어넣고
코드를 실행하면
linkedlist
linkedlist.html로 갑시다.
linkedlist.php로 갑시다.
728x90
'Security & Hacking > pythonchallenge.com' 카테고리의 다른 글
python challenge 5 (0) | 2019.07.13 |
---|---|
python challenge 4 (0) | 2019.07.13 |
python challenge_2 (0) | 2019.07.12 |
python challenge 1 (0) | 2019.07.12 |
python challenge 0 (0) | 2019.07.06 |