[Programmers]-문자열 내 마음대로 정렬하기

문제

문제

문자열 n번째 인덱스를 가지고 오름차순 정렬을하면된다. 인덱스n의 문자가 같을 경우 사전순으로 위치한다.

코드

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 1;
                else if(a.charAt(n) < b.charAt(n))
                    return -1;
                else
                    return a.compareTo(b);
            }
        });
        return strings;
    }

}

코드 설명

요즘 오버라이딩을 많이 보고있어서 정렬도 한번 해보려고했다. 처음 Arrays.sort할 때 바로 오버라이딩을 씌울 수 있어서 쉽게 된거같다. 인덱스 n번째 값이 같으면 두 문자열을 compareTo()로 비교해주면 사전순으로 정렬된다.

요약

  • sort내에서 바로 오버라이딩하기
  • 람다도 좀 알아봐야겠다.