https://programmers.co.kr/learn/courses/30/lessons/12915
코딩테스트 연습 - 문자열 내 마음대로 정렬하기
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱
programmers.co.kr
기본틀
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) {
Arrays.sort(strings);
String[] arr1 = new String[strings.length];
for(int i = 0; i < arr1.length; i++){
arr1[i] = strings[i].substring(n, n+1);
}
Set hs = new HashSet();
for(int i = 0; i < arr1.length; i++){
hs.add(arr1[i]);
}
String[] arr2 = new String[hs.size()];
Iterator<String> it = hs.iterator();
int i = 0;
while(it.hasNext()){
arr2[i] = it.next();
i++;
}
Arrays.sort(arr2);
String[] answer = new String[arr1.length];
int k = 0;
for(int h = 0; h < arr2.length; h++){
for(int j = 0; j < arr1.length; j++){
if(arr2[h].equals(strings[j].substring(n, n+1))){
answer[k] = strings[j];
k++;
}
}
}
return answer;
}
}
성공~ 힘들었당;;
'프로그래머스 > Lv.1' 카테고리의 다른 글
Lv.1 나누어 떨어지는 숫자 배열 (0) | 2022.06.06 |
---|---|
Lv.1 두 정수 사이의 합 (0) | 2022.06.06 |
Lv.1 문자열 내 p와 y의 개수 (0) | 2022.06.05 |
Lv.1 문자열 내림차순으로 배치하기 (0) | 2022.06.05 |
Lv.1 문자열 다루기 기본 (0) | 2022.06.04 |