import re
def solution(files):
answer = []
for filename in files:
splittedlist =re.split(r"([0-9]+)", filename, maxsplit=1)
answer.append(splittedlist)
sortlist = sorted(answer, key= lambda e : (e[0].lower(),int(e[1])))
return list("".join(i) for i in sortlist)
위의 디버깅을 봐보자. 숫자를 기준으로 List안에 있는 문자열을 자르고 있고, 잘리는 숫자도 남아있다. 이 작업을 정규표현식을 쓰지 않고 한다면 엄청난 수작업과 노력이 들 것이다.
이렇게 강력한 정규표현식을 정리하려고 한다.
반응형
'데이터사이언스' 카테고리의 다른 글
파이썬 1개의 row List 여러개의 열로 자르기 (0) | 2020.05.20 |
---|---|
파이썬 N진수 변환 알고리즘 (0) | 2020.05.20 |
캐시(Cache) : 프로그래머스 문제를 예제로 (0) | 2020.05.19 |
파이썬 2차원 배열 회전 함수 (0) | 2020.05.13 |
[파이썬]프로그레스 바(Progress bar) 표시하기 (0) | 2020.04.15 |