본문 바로가기

Algorithm/Programers - Java

[프로그래머스] 문자열 내 마음대로 정렬하기

 

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;
    }
}