Playground/자바문제집

[프로그래머스] 문자열 내 마음대로 정렬하기

미숫가루설탕많이 2023. 2. 18. 14:23
import java.util.*;
class Solution {
    public String[] solution(String[] strings, int n) {
        String[] answer = new String[strings.length];
        ArrayList<String> arr = new ArrayList<>();
        
        /*
        n번째 인덱스를 추출해서 맨 앞에 붙인 ArrayList 생성해서 n번째 인덱스가 같은 경우 사전순으로 문자열 배치 (제한 조건 만족)
        */
        for (int i = 0; i < strings.length; i++) {
            arr.add("" + strings[i].charAt(n) + strings[i]);
        }
        
        // 리스틀르 오름차순으로 정렬한 다음 맨 앞의 문자만 빼고 arr에 넣기
        Collections.sort(arr);
        
        for (int i = 0; i < arr.size(); i++) {
            answer[i] = arr.get(i).substring(1, arr.get(i).length());
        }
        return answer;
    }
}