230609 파일명 정렬

Jongleee·2023년 6월 9일
0

TIL

목록 보기
281/576
public String[] solution(String[] files) {
    Arrays.sort(files, Comparator.comparing(this::extractHead)
            .thenComparingInt(this::extractNumber));
    return files;
}

public String extractHead(String fileName) {
    return fileName.split("\\d+")[0].toLowerCase();
}

public int extractNumber(String fileName) {
    String numberString = fileName.substring(extractHead(fileName).length());
    StringBuilder result = new StringBuilder();
    for (char c : numberString.toCharArray()) {
        if (Character.isDigit(c) && result.length() < 5) {
            result.append(c);
        } else {
            break;
        }
    }
    return Integer.parseInt(result.toString());
}

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

0개의 댓글