https://app.codility.com/demo/results/trainingPB6C9Y-2CD/
Point
- 제시된 조건에 따라 validation check를 수행한다
- 스플릿 하여 for loop를 하나씩 통과시킨 후 validation check를 통과한 문자열에 대해 최대 길이를 업데이트한다.
Tip
- 내장라이브러리인 정규표현식 re 패키지를 임포트하여 사용한다
Task Score
100%
Correctness
100%
Performance
Not assessed
Detected time complexity
import re
def valid_check(s):
na = re.compile(r'[^a-zA-Z0-9]+')
check = na.findall(s)
if check:
return False
letter = re.compile(r'[a-zA-Z]+')
check = letter.findall(s)
if len(''.join(check)) % 2 == 1:
return False
digit = re.compile(r'[0-9]+')
check = digit.findall(s)
if len(''.join(check)) % 2 == 0:
return False
return True
def solution(S):
answer = -1
lst = S.split(" ")
for l in lst:
if valid_check(l):
answer = max(answer, len(l))
return answer
문제를 푸는데 도움이 된 테스트 케이스
728x90
반응형
'Problem Solving > Codility' 카테고리의 다른 글
[Python] TreeHeight (0) | 2021.07.18 |
---|---|
[Python] StrSymmetryPoint (0) | 2021.07.18 |
[Python] FirstUnique (0) | 2021.07.15 |
[Python] DisappearingPairs (0) | 2021.07.15 |
[Python] 8.1. Dominator (0) | 2021.04.05 |
댓글