본문 바로가기

프로그래머스

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

728x90

로직 : 처음 이 문제를 봤을때 어떻게 풀지 몰라서 다른사람 코드를 보고 풀이법을 이해하고 풀었다.

import java.util.*;

class Solution {
    static public String[] solution(String[] strings, int n)
    {
        String[] answer = new String[strings.length];
        List<String>list = new ArrayList<>();
        for(int i=0;i<strings.length;i++)
        {
            list.add(strings[i].charAt(n)+strings[i]);
        }
        Collections.sort(list);
        for(int i=0;i<strings.length;i++)
        {
            answer[i] = list.get(i).substring(1);
        }
        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;
  }
}

 

728x90

'프로그래머스' 카테고리의 다른 글

핸드폰번호가리기  (0) 2022.12.19
1차 비밀지도 카카오  (0) 2022.12.11
평행  (0) 2022.12.11
안전지대  (0) 2022.12.08
OX퀴즈  (0) 2022.12.08