( 중요 부분만 )
파일명을 세 부분으로 나눈 후, 다음 기준에 따라 파일명을 정렬한다.
입력: ["img12.png", "img10.png", "img02.png", "img1.png", "IMG01.GIF", "img2.JPG"]
출력: ["img1.png", "IMG01.GIF", "img02.png", "img2.JPG", "img10.png", "img12.png"]
import re
def solution(files):
pattern = r"\d+"
idx = {}
for i in range(len(files)):
idx[files[i]] = i
files.sort( key = lambda x : (x[:x.find(re.findall(pattern,x)[0])].lower(),int(re.findall(pattern,x)[0]), idx[x]))
return files
순서를 제시해 준 그대로 lambda 함수 속에 넣으면 해결이 됐던 문제