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

김현진·2022년 1월 15일
0

코테준비

목록 보기
2/22

문제 링크 - https://programmers.co.kr/learn/courses/30/lessons/12915

  • 문제 해결
    • 문자열을 정렬하되, 주어진 n번째를 기준으로 정렬하고, n번째 문자열이
      같다면 사전순으로 정렬!
      우리가 보통 Collections.sort()나 Arrays.sort()를 문자열에서
      사용하면 사전 순으로 정렬된다.
      여기서, 두 방법 모두 첫 번째 숫자부터 차례로 비교해 나가며 정렬해 나가기
      때문에, 이 문제와 다른 점은 단지 주어진 문자가 먼저 정렬 기준이 되고
      이후로는 첫 번째 문자를 기준으로 정렬된다는 것이다.
      그렇다면 Collections.sort()나 Arrays.sort()를 사용할 수 있지
      않을까?? -> sort()를 이용하려면 첫 번째 글자에 n번째 글자가 와야한다!
      --> n번째 글자를 첫 번째 글자로 만들어 정렬하자!
import java.util.*;

class Solution {
  public String[] solution(String[] strings, int n) {
      
      for(int i=0;i<strings.length;i++){//맨 앞으로
          strings[i] = String.valueOf(strings[i].charAt(n)) + strings[i]; 
      }
      
      Arrays.sort(strings);
      
      String [] result = new String [strings.length];
      
      for(int i=0;i<strings.length;i++){
          result[i] = strings[i].substring(1); //정렬 후 첫 번째 글자를 제거
      }
      
      return result;
  }
  
}

0개의 댓글