반응형
python challenge 3
처음에 문제 설명이 이해가 안가서 읭?? 하고 있다가, 이내 AAAaAAA 형태로 되어있는 것을 찾으라는 뜻인걸 알고 의식의 흐름대로 바로 만들었다. 물론 three guard라고 했으므로 aAAAaAAAa 형태일 것이다.
import string
upperString = string.ascii_uppercase
lowerString = string.ascii_lowercase
fp = open('data', 'r')
data = fp.read()
result = ''
for i in range(0, len(data)-9):
if data[i] in lowerString and data[i+4] in lowerString and data[i+8] in lowerString:
c = [j for j in (data[i+1:i+4] + data[i+5:i+8]) if j in upperString]
if len(c) == 6:
result += data[i+4]
print result
중간에 있는 소문자만 읽으면 'linkedlist'가 된다. 다만 좀 더 고급스럽게 표현할 수 없을까 싶어 정규식으로도 만들어 보았다.
import re
fp = open('data', 'r')
data = fp.read()
pattern = '[a-z][A-Z]{3}[a-z][A-Z]{3}[a-z]'
r = re.compile(pattern)
result = ''
for i in r.findall(data):
result += i[4]
print result
next : http://www.pythonchallenge.com/pc/def/linkedlist.html solution : http://wiki.pythonchallenge.com/index.php?title=Level3:Main_Page
반응형
'Write-up' 카테고리의 다른 글
[Python Challenge] level 5 (0) | 2019.04.13 |
---|---|
[Python Challenge] level 4 (0) | 2019.04.13 |
[Python Challenge] level 2 (0) | 2019.04.13 |
[Python Challenge] level 1 (0) | 2019.04.13 |
[Python Challenge] level 0 (0) | 2019.04.13 |