Write-up

[Python Challenge] level 3

ch4rli3kop 2019. 4. 13. 22:00
반응형

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