Altiora Petamus

파일명 정렬 본문

1day-1algorithm

파일명 정렬

Haril Song 2021. 8. 13. 02:14
 

코딩테스트 연습 - [3차] 파일명 정렬

파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램

programmers.co.kr

🤔생각해보기

파이썬의 정렬은 순서가 뒤집히지 않는 stable 한 정렬을 구현하고 있다. 그러므로 정렬의 단계에 맞춰서 실행되게끔만 구현하면 된다.

방법은 다음과 같다.

  • 문자열을 파싱하기 위해서 정규식을 사용한다. 정규식의 그룹을 활용하면 특정 부분을 쉽게 추출할 수 있다.
  • 파이썬의 람다를 활용하면 정렬 조건을 넣을 수 있다. 튜플의 요소들이 순서대로 실행된다.

코드

import re


def solution(files):
    p = re.compile(r"^(?P<head>\D+)(?P<number>\d{1,5})(?P<tail>.*)")
    return sorted(files, key=lambda x: (p.match(x).group("head").lower(), int(p.match(x).group("number"))))

tail 부분은 위 코드에선 활용되지 않으므로 굳이 설정할 필요는 없다.

'1day-1algorithm' 카테고리의 다른 글

DNA  (0) 2021.08.22
세로읽기  (0) 2021.08.17
방금그곡  (0) 2021.08.09
특정한 최단 경로  (0) 2021.07.27
미확인 도착지  (0) 2021.07.17