[Programmers] 문자열 내 마음대로 정렬하기

Lee·2020년 11월 4일
post-thumbnail

문제 출처

문자열 내 마음대로 정렬하기

내가 푼 풀이

import java.util.*;

class Solution {
    public String[] solution(String[] strings, int n) {
      
      Arrays.sort(strings, new Comparator<String>() {
          @Override
          public int compare(String s1, String s2){
              char c1 = s1.charAt(n);
              char c2 = s2.charAt(n);
              
              // n번째 문자가 같을 경우에 원본 스트링을 사전순으로
              if(c1 == c2){
                  return s1.compareTo(s2);
              } else return c1 - c2;
          }
      });
      
      return strings;
  }
}

다른 사람들의 풀이

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

0개의 댓글