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

sua·2022년 12월 24일
0

문제


풀이

import java.util.*;

class Solution {
    public String[] solution(String[] strings, int n) {
        String[] answer = new String[strings.length];
        
        ArrayList<String> array = new ArrayList<>();
        for(int i = 0; i < strings.length; i++) {
            array.add(strings[i].charAt(n) + strings[i]);
        }
        Collections.sort(array);
        
        for(int i = 0; i < strings.length; i++) {
            answer[i] = array.get(i).substring(1, array.get(i).length());
        }
        
        return answer;
    }
}

일단 n번째 문자로 정렬시키기 위해 ArrayList 타입의 array를 생성한다. 그런 다음 strings 문자열 배열로 for문을 돌려서 i번째 strings 문자열의 n번째 문자를 가장 앞으로 배치하고 그 뒤에 i번째 문자열이 뒤로오게 해서 만든 문자열을 array의 원소로 삽입해준다. 그런 다음 array를 정렬한다.
마지막으로 for문을 돌려서 array의 i번째 요소 문자열에서 substring 메소드를 통해서 1번째 문자는 제외하고 할당시키게 한다. 1번째 문자는 정렬을 위해 임의로 넣었던 n번째 문자이기 때문이다!

결과

profile
가보자고

0개의 댓글

관련 채용 정보