Programmers / 2단계 / [3차] 파일명 정렬 / python / 2018 KAKAO BLIND RECRUITMENT

2024. 3. 12. 20:45·코딩테스트/programmers (python)

 

코딩테스트 연습 - [3차] 파일명 정렬 | 프로그래머스 스쿨 (programmers.co.kr)

 

 

 

모범 답안

import re
def splitS(s):
    head = re.match('[\D]+', s)
    number = re.search('[0-9]+', s)
    file = [head[0], int(number[0]), s[number.end():]]
    return file
    
def solution(files):
    newFile = []
    for i, file in enumerate(files):
        s_file = splitS(file.lower())
        s_file.append(i)
        newFile.append(s_file)
    newFile.sort(key = lambda x : (x[0], x[1], x[-1]))
    answer = list(map(lambda x : files[x[-1]], newFile))
    return answer

 

s[number.end():]  → s[숫자가 끝나는 지점부터의 인덱스] 

s = img12.png 일 때, number.end() = 5   

따라서 s[number.end():] = .png

 

 

 

 

import re

def solution(files):
    a = sorted(files, key=lambda file : int(re.findall('\d+', file)[0]))
    b = sorted(a, key=lambda file : re.split('\d+', file.lower())[0])
    return b
import re

def solution(files):
    return sorted(files, key=lambda file: (find_head_and_number(file)))

def find_head_and_number(file):
    head, number, tail = re.match("([a-zA-Z-. ]+)(\d{1,5})(.*)", file).groups()

    return [head.lower(), int(number)]

 

'코딩테스트 > programmers (python)' 카테고리의 다른 글

Programmers / 1단계 / 신고 결과 받기 / python / 2022 KAKAO BLIND RECRUITMENT  (0) 2024.03.13
Programmers / 2단계 / 배달 / python / Summer/Winter Coding(~2018)  (0) 2024.03.13
Programmers / 2단계 / 스킬트리 / python / Summer/Winter Coding(~2018)  (0) 2024.03.11
Programmers / 2단계 / 오픈채팅 / python / 2019 KAKAO BLIND RECRUITMENT  (1) 2024.03.09
Programmers / 해시 문제 모음  (0) 2024.03.09
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • Programmers / 1단계 / 신고 결과 받기 / python / 2022 KAKAO BLIND RECRUITMENT
  • Programmers / 2단계 / 배달 / python / Summer/Winter Coding(~2018)
  • Programmers / 2단계 / 스킬트리 / python / Summer/Winter Coding(~2018)
  • Programmers / 2단계 / 오픈채팅 / python / 2019 KAKAO BLIND RECRUITMENT
seulll
seulll
개인 공부 / 정리 블로그입니다 https://github.com/seul1009
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (341) N
      • 코딩테스트 (233) N
        • programmers (python) (156)
        • 백준 (python) (75) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (43)
        • Python (4)
        • Java | Spring (7)
        • Android (5)
        • Unity (3)
        • API (4)
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    카카오맵
    그리디 알고리즘
    오블완
    야근 지수
    solving environment
    코딩테스트
    asterisk
    모델 성능 평가
    파이썬
    바다코끼리
    프로그래머스
    kakao map api
    API
    백엔드 개발자
    Python
    백엔드
    confusion matrix
    프렌즈4블록
    대입 표현식
    백엔드 개발자 역량
    웹크롤링
    데이터분석
    train_test_split
    티스토리챌린지
    오차행렬
    박스플롯
    2 x n 타일링
    카카오맵 api
    Greedy
    Boxplot
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
Programmers / 2단계 / [3차] 파일명 정렬 / python / 2018 KAKAO BLIND RECRUITMENT
상단으로

티스토리툴바