선택은 나의 것

[프로그래머스] 파일명 정렬 (python) 본문

☽ Algorithm/Programmers

[프로그래머스] 파일명 정렬 (python)

Algoribi 2020. 5. 23. 16:05

문제

Programmers 2018 KAKAO BLIND RECRUITMENT : [3차] 파일명 정렬

 

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

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

programmers.co.kr

접근

문자열은 조건에 맞게 HEAD, NUMBER, TAIL 부분으로 나눈다. 이때 중간에 숫자 영역인 NUMBER을 기준으로 split으로 잘라준다. python의 문자열 처리에 대해서 궁금한 사람들은 파이썬 프로그래밍 입문서를 참고하길 바란다. 정리가 매우 잘 되어있어 많은 도움을 받았다.

다음으로 대소문자 구분 없이 HEAD 문자에 따라 정렬하되 같은 값의 HEAD를 가지고 있으면 NUMBER에 따라 정렬해준다. python의 sorted에 대해 자세히 알아보고 싶다면 흠시 님의 글을 참고하길 바란다.

 

코드

import re

def solution(files):

    file = [re.split(r"([0-9]+)", i) for i in files]
    # print(file)
    s_file = sorted(file, key = lambda x: (x[0].lower(), int(x[1])))
    
    answer = []
    for i in s_file :
        answer.append("".join(i))
    return answer

 

깃 허브 주소 : https://github.com/algoribi/algorithm-study

Comments