풀이
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = new String[strings.length];
List<StringBuilder> list=new ArrayList<>();
for(int i=0; i<strings.length; i++){
StringBuilder buf=new StringBuilder();
buf.append(strings[i].charAt(n))
.append(strings[i]);
list.add(buf);
}
Collections.sort(list);
for(int i=0; i<list.size(); i++){
answer[i]=list.get(i).substring(1);
}
return answer;
}
}
풀이방법
1) 값을 순서대로 담기위해 List사용
2) 문자의 임이 변형을 편리하게 하기 위해 StringBuilder사용
3) 인덱스n의 글자를 charAt()으로 추출하고 기존 strings[i]번째 단어를 append하여 더한다
4) 인덱스[n]의 글자가 가장 앞에 있으므로 sort하여 오름차순 정렬
5) answer에 인덱스[1]의 글자부터 뽑아서 넣는다.