class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = {};
return answer;
}
}
코드 없다.. 문자열 다루는 방법이 안 떠올라서 손도 못 대봤다구
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = {};
ArrayList<String> arr = new ArrayList<>();
for (int i = 0; i < strings.length; i++) {
arr.add("" + strings[i].charAt(n) + strings[i]); //(1)
}
Collections.sort(arr);
answer = new String[arr.size()];
for (int i = 0; i < arr.size(); i++) {
answer[i] = arr.get(i).substring(1, arr.get(i).length());//(2)
}
return answer;
}
}
(1) arr라는 리스트에 담을건데, i번째 단어의 n번째 글자를 담는다. 대신 +를 사용해 i번째 단어도 통째로 붙여둔다. 뒤에서 정렬을 수월하게 하려고 그런 것 같다.
(2)answer 배열에 정렬해둔 arr를 가공해서 담아야 한다. 정렬되어 있으니 순서대로 담으면 되고, get(i)로 i번째 원소를 가져온다. 대신 substring(시작값,종료값)을 써서 맨 앞에 붙어있던 n번째 글자는 떼고 가져온다는 게 핵심이었다.
아쉬울 것도 없고 문자열 문제라면 일단 겁부터 먹고 보는 게 제일.. 커다란 문제다;