본문 바로가기
코딩 테스트/코딩 테스트 - 문제

[프로그래머스] [3차] 파일명 정렬

by 안스 인민군 2023. 2. 17.
 

프로그래머스

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

programmers.co.kr

이 문제는 잘 풀었는데 s1과 s2 의 초기값을 잘못설정했다.

s1은 만약 시작점이 "12abc" 일경우 한개는 HEAD이기 때문에 초기값을 0으로 설정하면 안된다.

또 s2는 for문에서 끝까지 가서 TAIL이 없을 경우를 대비해 초기값을 len(file) 이 옳다.

def slice1(file):
    s1 = 1
    s2 = len(file)
    for i in range(1,len(file)):
        if file[i].isdigit():
            s1 = i
            break
    
    for i in range(s1,len(file)):
        if not file[i].isdigit():
            s2 = i
            break
    
    return (file[0:s1].upper(),int(file[s1:s2]),file)

def solution(files):
    file_list = []
    for f in files:
        file_list.append(slice1(f))
    
    file_list.sort(key=lambda x:(x[0],x[1]))
    
    result = []
    for file in file_list:
        result.append(file[2])
    
    return result

'코딩 테스트 > 코딩 테스트 - 문제' 카테고리의 다른 글

[프로그래머스] N-Queen  (0) 2023.02.20
[프로그래머스] 롤케이크 자르기  (0) 2023.02.17
[백준] 개미  (0) 2023.02.13
k진수에서 소수 개수 구하기  (0) 2023.02.08
[프로그래머스] 캐시  (0) 2023.02.06