코딩테스트 연습 - 문자열 내 마음대로 정렬하기 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
정리:
-Comparator 클래스를 활용해서 오버라이딩해서 푸는 문제였다. 정렬 연습할 때 좋은 문제이다.
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
Arrays.sort(strings, new Comparator<String>(){
@Override
public int compare(String a, String b){
if(a.charAt(n) != b.charAt(n))
return (String.valueOf(a.charAt(n))).compareTo(String.valueOf(b.charAt(n)));
else
for(int i = 0; i < Math.min(a.length(), b.length()); i++) {
if(a.charAt(i) != b.charAt(i))
return (String.valueOf(a.charAt(i))).compareTo(String.valueOf(b.charAt(i)));
}
return (String.valueOf(a.charAt(n))).compareTo(String.valueOf(b.charAt(n)));
}
});
return strings;
}
}
테스트 1 〉 | 통과 (0.40ms, 79.9MB) |
테스트 2 〉 | 통과 (0.52ms, 74.8MB) |
테스트 3 〉 | 통과 (0.50ms, 73.4MB) |
테스트 4 〉 | 통과 (0.68ms, 66MB) |
테스트 5 〉 | 통과 (0.53ms, 81.3MB) |
테스트 6 〉 | 통과 (0.59ms, 74.8MB) |
테스트 7 〉 | 통과 (0.43ms, 74.6MB) |
테스트 8 〉 | 통과 (0.52ms, 75.1MB) |
테스트 9 〉 | 통과 (0.50ms, 76.2MB) |
테스트 10 〉 | 통과 (1.13ms, 77.3MB) |
테스트 11 〉 | 통과 (0.48ms, 79MB) |
테스트 12 〉 | 통과 (0.90ms, 74.9MB) |
[프로그래머스] 베스트앨범 (0) | 2023.08.08 |
---|---|
[프로그래머스] 줄 서는 방법 (0) | 2023.08.08 |
[프로그래머스] 전력망을 둘로 나누기 (0) | 2023.08.08 |