[Programmers] P17686 파일명 정렬
[Programmers] P17686 파일명 정렬
Question
Language: Python
- 주어진 파일 이름에 대해서, head, number, 이외 부분으로 파싱해야된다.
- 해당 부분에 head, number 기준으로 정렬을 수행한다. (head 는 대소문자 구분 없이, number는 숫자에 대한 정렬을 수행해야한다. (“010” -> 10))
Solution
import re
def solution(files):
answer = []
pattern=re.compile("([^0123456789]+)(\d{1,5})")
temp=[]
#1
for file in files:
segments=pattern.findall(file)[0]
temp.append((segments[0].lower(),int(segments[1]),file))
#2
temp.sort(key=lambda x: (x[0],x[1]))
answer=[file for head,number,file in temp]
return answer
댓글남기기