Level 1.
문제
풀이
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = new String[strings.length];
for(int i=0; i<strings.length; i++){
answer[i] = strings[i].substring(n, n+1) + strings[i];
}
Arrays.sort(answer);
for(int i=0; i<strings.length; i++){
answer[i] = answer[i].substring(1, answer[i].length());
}
return answer;
}
}
해결방법
1. answer 배열에 [기준이 될 문자 + 문자열] 형태의 값을 넣는다.
2. answer 배열을 sort함수로 정렬한다.
3. answer 배열의 원소를 substring을 사용하여 맨 앞 문자를 제거한다.
다른 사람 풀이
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;
}
}
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스] 문자열을 정수로 바꾸기 / valueOf , int와 Integer (0) | 2023.04.29 |
---|---|
[프로그래머스] 가운데 글자 가져오기 - substring (0) | 2023.04.11 |
[프로그래머스]문자열 내림차순으로 배치하기 (0) | 2023.04.11 |
[프로그래머스] 두 정수의 합 - Math클래스 (0) | 2023.04.10 |
[프로그래머스] 나누어 떨어지는 숫자 배열/ stream (0) | 2023.04.08 |