250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- flutter network call
- 막내의막무가내
- 프래그먼트
- 부스트코스
- 프로그래머스 알고리즘
- Fragment
- 막내의 막무가내 알고리즘
- 막무가내
- 안드로이드
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 SQL
- 막내의 막무가내
- 막내의막무가내 코틀린
- 막내의막무가내 알고리즘
- 막내의막무가내 rxjava
- 2022년 6월 일상
- 주엽역 생활맥주
- 막내의막무가내 목표 및 회고
- 안드로이드 Sunflower 스터디
- 주택가 잠실새내
- 막내의막무가내 플러터 flutter
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 플러터
- 막내의막무가내 프로그래밍
- 막내의막무가내 안드로이드
- 막내의막무가내 안드로이드 코틀린
- 부스트코스에이스
- 안드로이드 sunflower
- 막내의막무가내 일상
Archives
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[알고리즘] 프로그래머스 [3차] 파일명 정렬 -정렬- 자바 본문
728x90
programmers.co.kr/learn/courses/30/lessons/17686
Tail은 비교하지 않는거에 주의해야한다.... 이걸로 삽질 엄청네여
문제를 제데로 읽는 습관을 길러야겠습니다.
풀이
[Java]
import java.util.Arrays;
class Solution {
public static void main(String[] args) {
Solution solution = new Solution();
solution.solution(new String[]{"img12.png", "img10.png", "img02.png", "img1.png", "IMG01000000.GIF", "img2.JPG"});
}
public String[] solution(String[] files) {
Arrays.sort(files, (o1, o2) -> {
String head1 = o1.split("[0-9]")[0].toLowerCase(); // head - number, tail 분리
String head2 = o2.split("[0-9]")[0].toLowerCase();
if (head1.compareTo(head2) == 0) { // head 같은문자열인 경우
String numTail1 = o1.substring(head1.length()); // number,tail 남김
String numTail2 = o2.substring(head2.length());
return Integer.parseInt(calNumber(numTail1)) - Integer.parseInt(calNumber(numTail2));
} else {
return head1.compareTo(head2);
}
});
return files;
}
private static String calNumber(String numTail2) { //최대 5자리인 number 계산
StringBuilder sb2 = new StringBuilder();
for (char c : numTail2.toCharArray()) {
if (Character.isDigit(c) && sb2.length() <= 5) {
sb2.append(c);
} else {
return sb2.toString();
}
}
return sb2.toString();
}
}
댓글과 공감은 큰 힘이 됩니다. 감사합니다 .!
728x90
'알고리즘 > 문자열, 정렬' 카테고리의 다른 글
[알고리즘] 프로그래머스 이진 변환 반복하기 -문자열, 단순구현- 자바 (0) | 2021.06.15 |
---|---|
[알고리즘] 백준 18870 좌표 압축 -정렬- 자바 코틀린 (0) | 2021.05.11 |
[알고리즘] 백준 10814 나이순 정렬 -정렬- (0) | 2020.06.24 |
[알고리즘] 프로그래머스 다음 큰 숫자 -연습문제, 문자열- (0) | 2020.04.22 |
[알고리즘] 프로그래머스 JadenCase 문자열 만들기 -연습문제- (0) | 2020.04.19 |
Comments