프로그래머스/[프로그래머스 - JAVA] Lv.1
[프로그래머스 - JAVA] 문자열 내 마음대로 정렬하기
코딩하는 흰둥이
2023. 4. 3. 14:47

- 내 풀이
import java.util.Arrays;
import java.util.Collections;
import java.util.ArrayList;
class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = {};
// strings 개수와 같이 때문에 초기화
answer = new String[strings.length];
// n 번째의 문자열을 담을 list
ArrayList<String> list = new ArrayList<>();
// 문자열이 같은 경우가 있기 때문에 문자열에서부터 sort를 한다
Arrays.sort(strings);
// n 번째의 문자를 담아줌
for (int i = 0; i < strings.length; i++) {
list.add(strings[i].charAt(n)+strings[i]);
}
// 담은 문자를 오름차순으로
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i).substring(1, list.get(i).length());
}
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]);
}
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());
}
return answer;
}
}