Level1) 문자열 내 마음대로 정렬하기
2020. 9. 8. 16:15ㆍPS/programmers
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public String[] solution(String[] strings, int n) {
Arrays.sort(strings, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if (o1.charAt(n) == o2.charAt(n)) {
return o1.compareTo(o2);
} else {
return o1.charAt(n) - o2.charAt(n);
}
}
});
return strings;
}
}
- 성공
- 저번에 Comparator 쓰는 문제를 풀어봤더니 문제읽고 이거 써야겠다는 생각이 듬
- 처음에 Arrays.sort 생각 못하고 괜히 Collections.sort로 썻다가 Arrays.sort로 수정
1) Arrays.sort에 new Comparator 사용
2) charAt(n) 값을 비교해서 같으면 다시 compareTo로 정렬
3) 만약에 다르면 o1.charAt(n) - o2.charAt(n) 을 리턴
3-1) 양수가 나오면 자리 바꾸고 , 음수 나오면 그대로
'PS > programmers' 카테고리의 다른 글
Level1) 문자열 내림차순으로 배치하기 (0) | 2020.09.08 |
---|---|
Level1) 문자열 내 p와 y의 개수 (0) | 2020.09.08 |
Level1) 두 정수 사이의 합 (0) | 2020.09.08 |
Level1) 나누어 떨어지는 숫자 배열 (0) | 2020.09.08 |
Level1) 같은 숫자는 싫어 (0) | 2020.09.08 |