알고리즘/Java

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

유리코딩 2021. 11. 11. 14:22
반응형

알고리즘

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


 

1. 문제

https://programmers.co.kr/learn/courses/30/lessons/12915

 

2. 풀이

특별히 어려운 부분없이 어제오늘 풀었던 문제와 비슷하게 배열을 list로 변환했다 다시 배열로 return하는 방식이다.

조금 헷갈렸던 부분은 Collections.sort() 정렬하는 함수인것은 알지만 어떨 때 Collection.sort를 쓰고 어떨 때 Arrays.sor를 쓰는지이다.

 --> Collections.sort()와 Arrays.sort() 차이점 

import java.util.*;

class Solution {
    public String[] solution(String[] strings, int n) {
        String[] answer = {};

        // strings배열을 리스트로 변환
        // 2번째 글자들을 앞으로 하기
        ArrayList<String> arr = new ArrayList<String>();
        for(int i=0; i<strings.length; i++){
            arr.add(strings[i].charAt(n) + strings[i]);
        }

        // list 정렬
        Collections.sort(arr);

        // 배열크기 지정
        answer = new String[arr.size()];
        // 1~마지막 글자 배열에 넣기
        for(int i=0; i<arr.size(); i++){
            answer[i] = arr.get(i).substring(1, arr.get(i).length());
        }

        //System.out.println(Arrays.toString(answer));
        return answer;
    }
}
반응형