티스토리 뷰

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) 양수가 나오면 자리 바꾸고 , 음수 나오면 그대로