Algorithms/Java

99클럽 코테 스터디 3일차 TIL + 문자열 내 마음대로 정렬하기 (java)

Jenn28 2024. 7. 25. 01:30

 

💡 문제

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

권장 시간

  • 30분

소요 시간

  • 20분

 

풀이 코드

import java.util.*;

class Solution {
  public String[] solution(String[] strings, int n) {
      Arrays.sort(strings);
      
      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 -1;
              } else return 0;
          }
      });
      
      return strings;
  }
}

 

어차피 n번째 알파벳이 같으면 사전순으로 더 앞선 문자열이 앞에 위치하니, Arrays.sort를 먼저 해준다.

이후에 sort 함수의 compare()을 오버라이딩해서 n번째 문자열끼리 대소관계를 비교한다.

 

sort 함수 잘 모르면 못푸는 문제라...

자주 나오니까 꼭 알아두자!!