본문 바로가기
Problem-solving/프로그래머스

프로그래머스 - (2018 KAKAO BLIND RECRUITMENT) [3차] 파일명 정렬 (Python3)

by taehee.kim.dev 2020. 7. 13.

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

 

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

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

programmers.co.kr

# [3차] 파일명 정렬


all_files = []


def solution(files):
    answer = []

    for one_file in files:
        origin_file_name = one_file
        file_head = ''
        file_number = ''

        checking_index = 0
        while checking_index <= len(one_file) - 1 \
                and not one_file[checking_index].isdigit():
            file_head += one_file[checking_index]
            checking_index += 1
        number_length_check = 0
        while checking_index <= len(one_file) - 1 \
                and number_length_check <= 5 \
                and one_file[checking_index].isdigit():
            file_number += one_file[checking_index]
            checking_index += 1
            number_length_check += 1

        all_files.append([file_head, int(file_number), origin_file_name])

    sorted_files = sorted(all_files, key=lambda x: (x[0].lower(), x[1]))
    answer = [file[2] for file in sorted_files]

    return answer

댓글