본문 바로가기

알고리즘

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

import java.util.List;
import java.util.Collections;
import java.util.ArrayList;
class Solution {
  public String[] solution(String[] strings, int n) {
      String[] answer;
      List<String> list = new ArrayList<>();
      for(int i=0; i< strings.length; i++){
          list.add(strings[i].charAt(n)+strings[i]);
      }
      Collections.sort(list);
      answer = new String[list.size()];
      for(int i=0; i<list.size();i++){
          answer[i]=list.get(i).substring(1,list.get(i).length());
      }
      return answer;
  }
}
-----------------------------------
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){
              if(s1.charAt(n) > s2.charAt(n)) return 1;
              else if(s1.charAt(n) == s2.charAt(n)) return s1.compareTo(s2);
              else if(s1.charAt(n) < s2.charAt(n)) return -1;
              else return 0;
          }
      });
      return strings;
  }
}
--------------------------

출처: https://programmers.co.kr