❓  문제

파일명 정렬

 

🛎️  아이디어

1. sorted를 사용한다.
    a. lambda 식을 사용해서 key값을 두 개 넣어준다.
    b. 키 두 개는 각각 re를 사용해서 head, number 부분을 가져온다.
        ㄱ. 문자열에서 숫자 부분을 가져와서 해당 숫자 기준으로 자른다. -> 인덱스 0이 head가 된다.
        ㄴ. head 부분은 대소문자 구분을 하지 않기 위해 lower을 사용한다.

 

💻  풀이

import re

def solution(files):
  # head 기준으로 정렬 -> number 기준으로 정렬
  return sorted(files, key= lambda x: (x.split(re.findall('\d+', x)[0])[0].lower(), int(re.findall('\d+', x)[0])))

 

+ Recent posts