본문 바로가기

개발/프로그래머스

[프로그래머스 Lv.2] - 파일명 정렬 (2018 KAKAO BLIND RECRUITMENT)

https://school.programmers.co.kr/learn/courses/30/lessons/17686

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[카누식 코드]

 

import pandas as pd
import re

def solution(files):
    head, num, tail = [],[],[]
    for i in range(len(files)):
        temp = files[i]
        head.append(re.split("[0-9]",temp)[0].upper())
        num.append([i for i in re.split("[^0-9]",temp) if i != ''][0])
        tail.append(temp[len(head[i])+len(num[i]):])
    df = pd.DataFrame({'head':head,'num':num,'tail':tail})
    df['num'] = df['num'].astype(int)
    index_list = df.sort_values(['head','num'], ascending=True).index
    answer = [files[i] for i in index_list]
    return answer

 

1.  files